我有一个为java 1.7编写的源代码。我想为java 1.6编译它。如果我理解正确,我需要使用选项-source 1.7 -target 1.6
我正在使用Maven2和Netbeans(8.0)。所以,我试过了:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.6</target>
<compilerArguments>
<bootclasspath>/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
但我得到javacTask: source release 1.7 requires target release 1.7
我读到有些人使用eclipse编译器使其工作,但如果我使用Netbeans,我怎么能这样做呢?
非常感谢你的帮助
答案 0 :(得分:1)
编辑对不起,反过来说。您可以编译源1.6和目标1.7但是在源版本&gt;时无法编译它。目标版本,因为它无法处理该语言的新功能。
有关此内容的更多详细信息,请参阅javac文档http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html中的交叉编译选项。
如果你有1.6个源,你可以像这样编译目标版本1.7:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.6</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>>