![](/img/trans.png)
[英]ExceptionInInitializerError in jdk1.8 not in jdk1.6
[英]How to make Maven use JDK1.8 instead of JDK1.6
我是maven的新手,我发现虽然我将项目的jdk的方面更改为1.8,但每次“更新maven”时,它都会返回到jdk 1.6。
这是为什么?
我在我的窗口安装了jdk 1.8,我正在使用eclipse。
我阅读了指定JDK for Maven使用并添加以下内容但它不起作用。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.8</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
maven将使用的JDK版本在maven-compiler-plugin
如下:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source> <!-- use java 8 -->
<target>1.8</target>
</configuration>
</plugin>
有关更多信息,请参阅Setting the -source and -target of the Java Compiler
。
检查maven编译器插件以指定源和目标java版本,
http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
此致,Prasanna
也许为时已晚,但它对我有用:
<!-- we want JDK 1.8 source and binary compatiblility -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- ... -->
<!-- we want sources to be processed by a specific 1.8 javac -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable>${JAVA_1_8_HOME}/bin/javac</executable>
</configuration>
</plugin>
无论如何,你的问题帮了我很多:)谢谢:)
在评论中你问:
那么maven-enforcer-plugin呢,这是做什么用的?
根据该插件的文档 :
“这个目标是绑定到生命周期阶段并在pom.xml中配置。执行者执行配置的规则来检查某些约束。”
换句话说,它检查是否已满足某些约束。 它不会使他们满意。
在您的示例中,如果Java版本不是Java 1.8,则插件的效果应该是导致构建失败。
...以及它解决线程“为Maven指定JDK使用”的原因?
你指的答案是这样说的:
“它永远不会伤害......添加maven-enforce-plugin以确保使用正确的jdk。这对你的pom来说是一个很好的做法。”
如您所见,它并未声明maven-enforce-plugin“解决”了该问题。 它实际上提供了一种方法来确保问题已经解决......如果没有,则构建失败。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.