如何强制maven编译1.6兼容源
我在eclipse中使用maven制作了web-app项目。将web.xml更改为使用3.0版本 - >然后更新配置,现在我无法启动tomcat。 我发现我必须强制maven编译源1.6兼容,我必须添加
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<executable>${env.JAVA_HOME_7}/bin/javac</executable>
<fork>true</fork>
</configuration>
但是eclipse中的有效pom是不可编辑的
那么是否有与eclipse兼容的maven或强制maven编译源1.6版本的任何其他方式?
答案 0 :(得分:5)
你有它。只需输入1.6而不是1.7:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
请参阅:http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
如果不需要,我也会避免额外的配置。
答案 1 :(得分:1)
编辑:
只需使用1.7 java 1.6。
EDIT2:
您的版本:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<executable>${env.JAVA_HOME_7}/bin/javac</executable>
<fork>true</fork>
</configuration>
</plugin>
应该是:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<executable>${env.JAVA_HOME_7}/bin/javac</executable>
<fork>true</fork>
</configuration>
</plugin>
答案 2 :(得分:0)
只是为了澄清:
在您的项目POM中,您实际上并未编写所有配置,而是覆盖(并最终添加功能)默认配置。
Eclipse中的“有效POM”显示了它的结果,所以确实这是不可编辑的。但是,如果在POM中添加一些配置(如其他答案中提议的那样),它将覆盖默认设置。它将按原样使用,并将显示在“有效POM”中。