Java “构建失败运行”;mvn清洁安装";。我刚升级了大苏尔
mvn清洁安装建筑故障Java “构建失败运行”;mvn清洁安装";。我刚升级了大苏尔,java,maven,Java,Maven,mvn清洁安装建筑故障 [INFO] Total time: 1.911 s [INFO] Finished at: 2020-11-14T19:07:37+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler
[INFO] Total time: 1.911 s
[INFO] Finished at: 2020-11-14T19:07:37+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project es-starter: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Java与Maven环境
➜
~ which java
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
➜ ~ mvn -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: /Users/munan/Documents/work/develop/maven/apache-maven-3.6.1
Java version: 1.8.0_192, vendor: Oracle Corporation, runtime: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
环境似乎没有问题。
那么导致构建失败的问题在哪里呢?嘿,这是错误 [错误]此环境中未提供编译器。也许您运行的是JRE而不是JDK 您必须切换到openJdk来执行maven清理和安装 首先,你必须下载它,你可以很容易地找到它。 在eclipse中,您可以右键单击项目,然后单击构建路径,然后设置openJDK In libraries选项卡。 在此之后,这些错误将不会出现,但在每个FMP之后,它可能会切换回jre。
希望帮助中包含JRE路径,请使用JDK(JDK包括JRE)
它将解决您的问题。在将Mac升级到Big Sur之后,我也面临同样的问题!所以我设置了JAVA_HOME env变量,现在一切都恢复正常了。打开终端,点击以下命令自行解决
$ vim .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
$ source .bash_profile
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
通过运行以下命令检查java_主页:
/usr/libexec/java_home-V
请在此处阅读更多信息-BigSur出于某种原因添加了JRE路径 当我需要JDK(而不是JRE)时,我发现它起了作用
在将Mac升级到Big Sur之后,我也面临着同样的问题
BigSur出于某种原因添加了JRE路径,并且比您自己的JDK优先级更高 以下是我的解决方案: 第一:
/usr/libexec/java_home -V
那么也许你会得到:
Matching Java Virtual Machines (2):
1.8.202.08 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_202 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
所以第二个是我们的真实JDK。
只需在bash概要文件中编辑JAVA_主页
vim ~/.zshrc
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home"
source vim ~/.zshrc
echo $JAVA_HOME
那就行了!祝你愉快
或者您可以通过以下命令重新安装jdk8:
brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8
如果您已经在bash概要文件中使用了类似于
export JAVA_HOME=$(/usr/libexec/JAVA_HOME-v1.8)
的内容,请通过指定更多JAVA版本来更新该命令
例如,当我执行/usr/libexec/java_home-V
时,我得到:
Matching Java Virtual Machines (3):
11.0.3 (x86_64) "Oracle Corporation" - "Java SE 11.0.3" /Library/Java/JavaVirtualMachines/jdk-11.0.3.jdk/Contents/Home
1.8.231.11 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_181 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
我将命令更新为
export JAVA_HOME=$(/usr/libexec/JAVA_HOME-v1.8.0)
,然后正确设置了JAVA_HOME。我怀疑applet插件是JDK./Library/Internet插件/JavaAppletPlugin是JRE。我担心我的解决方案可能也适用于您,请检查另一个问题,您知道为什么“/usr/libexec/JAVA_HOME-v1.8”不在MacOS上生效➜ libexec/usr/libexec/java_home-V匹配java虚拟机(3):15.0.1(x86_64)“Oracle公司”-“java SE 15.0.1”/Library/java/JavaVirtualMachines/jdk-15.0.1.jdk/Contents/home 1.8.192.12(x86_64)“Oracle公司”-“java”/Library/Internet插件/JavaAppletPlugin.plugin/Contents/home 1.8.0_192(x86_64)“甲骨文公司”-“Java SE 8“/Library/Java/JavaVirtualMachines/jdk1.8.0_192.jdk/Contents/Home
您可以找到这篇文章的帮助,非常感谢您的评论。但事实是,我无法通过/usr/libexec/Java_Home-v1.8
更改版本。杰诺夫不支持大苏尔。我不知道Mac将JRE主页放在路径中的原因。/Library/Internet plugins/JavaAppletPlugin.plugin/Contents/Home
。我认为这是根本原因这是唯一对我有效的解决方案。谢谢。