像一个发布在无效目标版本上的类似问题:1.7但是在关注博客之后我的问题仍未得到解决.
无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:在项目hm_app上编译(默认编译):致命错误编译:无效目标版本:1.8 - > [帮助1]
当我遇到这个问题时,我正在关注教程.
abt java & mvn
C:\mvn>echo %JAVA_HOME%
C:\mvn>echo %JRE_HOME%
C:\mvn>echo %MAVEN_HOME% yields
Run Code Online (Sandbox Code Playgroud)
输出
C:\Program Files\Java\jdk1.7.0_51
C:\Program Files\Java\jre7
C:\apache-maven-3.0.4
Run Code Online (Sandbox Code Playgroud)
Zav*_*ior 258
您已将您的设置%JAVA_HOME为jdk 1.7,但您尝试使用1.8进行编译.安装jdk 1.8并确保你的%JAVA_HOME指向或将目标版本降至1.7.
目标版本无效:1.8
目标版本是指jdk版本.
Cam*_*edo 27
将值放在插件中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
错误是使用:
<source>${java.version}</source>
<target>${java.version}</target>
Run Code Online (Sandbox Code Playgroud)
小智 13
问题得到了解决,因为我的JDK指向1.7,JRE指向1.8.检查命令提示符我的输入
java -version
Run Code Online (Sandbox Code Playgroud)
和
javac -version.
Run Code Online (Sandbox Code Playgroud)
两者都应该相同.
将其放入您的 .profile 中将动态地照顾您的$JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)
Run Code Online (Sandbox Code Playgroud)
之后关闭你的 shell,打开一个新的 shell 并进行测试
echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
它应该显示类似的内容
/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
如果没有,请删除启动脚本中 JAVA_HOME 的任何其他分配。请记住,这些启动脚本以 a 开头.,因此它们是隐藏的,并且在使用通配符时不会被包含*,例如,如果您想 grep 主目录的所有文件,您需要:
grep -s JAVA_HOME ~/.* --exclude=.bash_history
Run Code Online (Sandbox Code Playgroud)
对于 eclipse,这是我解决问题的方法:
使用 Run as maven build 通过 maven 重建。
它不应该再向您显示无效目标错误。
注意:我不必在终端中设置或更改任何其他变量。希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
208407 次 |
| 最近记录: |