当前位置: 首页 > 面试题库 >

无法使Maven识别Java 1.8

卫乐童
2023-03-14
问题内容

我似乎无法让Maven使用Java 1.8。使用1.8作为目标会出现以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
(default-compile) on project csaro: Fatal error compiling: invalid target
release: 1.8 -> [Help 1]

错误的原因很明显:Maven没有使用正确的Java版本:

$ mvn -version
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T07:51:42-06:00)
Maven home: /usr/local/Cellar/maven/3.2.2/libexec
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.2", arch: "x86_64", family: "mac"

但是Java的安装版本应为1.8:

$ java -version
java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b22)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b21, mixed mode)

并设置了JAVA_HOME:

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

我还在这里尝试了命令(它创建了mavenrc)。我尝试过多次重启计算机,并验证了正确设置了env var(在中进行了设置.bash_profile)。

Maven与Homebrew一起安装。

Java 1.8在Eclipse(使用m2e)中运行良好。我只是无法让Maven在命令行上工作。


问题答案:

原来,我有一个~/.mavenrc设置为的值的被遗忘的文件JAVA_HOME

对于将来的读者,请检查以下位置是否有可能被覆盖的位置JAVA_HOME(按优先级升序排列):

  • ~/.bash_profile
  • ~/.bash_login
  • ~/.bashrc
  • ~/.profile
  • /etc/mavenrc
  • ~/.mavenrc


 类似资料:
  • null 附注:Maven-Build是成功的。因此,Maven正在识别存储库中的包。

  • 我有以下序列

  • 我不确定这是否是一个与我没有这台计算机的管理权限有关的问题。任何帮助,以便我可以进一步排除故障,将非常感谢! 谢谢

  • 问题内容: 我想把它放在我的pom.xml- 但收到此错误- 我的pom.xml- 问题答案: 您发布的摘录属于标记内。具体来说,它属于Apache Maven Jar插件内部。请参阅下面的示例,以了解您在做什么错。 请参阅此处的Apache Maven Jar插件文档:https : //maven.apache.org/plugins/maven-jar- plugin/index.html

  • 问题内容: 我使用,当我得到 我删除了构建路径,然后又做了 ,仍然是同样的错误。 问题答案: 该代码不是Java SE的一部分,因此这些类将不在JRE中。您需要找到并下载包含这些类的JAR文件,然后将其添加到Eclipse构建路径中。 (可以在此处下载JAR的一个地方,但是如果此链接中断,可以轻松进行自己的搜索。请转到Maven Central或findjar。)