Ant use -source 7 or higher to enable diamond oper

2019-03-15 05:25发布

问题:

I am sure this is pretty easy qoestion, but I am stuck with building Android app using Ant from commandline. I have got this message: (use -source 7 or higher to enable diamond operator). What do I add to buildfile to make it compile using Java 1.7?

回答1:

You need to set java.source and java.target. Either via -D:

ant release -Djava.source=7 -Djava.target=7

Or put it in ant.properties in your project:

# ant.properies contents:
java.source=7
java.target=7


回答2:

Solved it if anyone else is stuck on this one. I had to change <import file="${sdk.dir}/tools/ant/build.xml"/> file. There are properties <property name="java.target" value="1.5" /> <property name="java.source" value="1.5" /> and the values should be changed to 1.7



回答3:

Heisenberg's solution is correct (kudos and +1...) but not clean: you don't have to change the master build.xml file (bad!), what you need is to add the lines he suggested:

<property name="java.target" value="1.7" />
<property name="java.source" value="1.7" />

right before the line

<import file="${sdk.dir}/tools/ant/build.xml" />

in the local build.xml file, and the default options will be overridden.

Hope it helps!



回答4:

Just to clarify, I changed my ant.properties as follows:

java.target=1.7
java.source=1.7

Making changes in build.xml before the above suggested line didn't work for me for some reason.



标签: java android ant