当前位置: 首页 > 知识库问答 >
问题:

Mac OSX 10.9.2上的Maven 3.2.1错误地使用了JRE 7而不是JDK 7

越霖
2023-03-14

我尝试按照安装后JavaJDK 7 For Mac OS X-mvn-version中的说明操作,仍然显示java版本1.6。0_31但他们不能解决我的问题。:-(

当我跑步时:

mvn clean install

我得到以下问题:

[INFO] Scanning for projects...
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building JBehave JUnit Runner 1.2.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ jbehave-junit-runner ---
[INFO] Deleting /Users/skurlow/IdeaProjects/mygithubforks/jbehave-junit-runner/target
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ jbehave-junit-runner ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ jbehave-junit-runner ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/skurlow/IdeaProjects/mygithubforks/jbehave-junit-runner/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ jbehave-junit-runner ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 5 source files to /Users/skurlow/IdeaProjects/mygithubforks/jbehave-junit-runner/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.164 s
[INFO] Finished at: 2014-04-18T07:25:53+10:00
[INFO] Final Memory: 11M/126M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project jbehave-junit-runner: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[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

我已经安装了Oracle的JDK7:

echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home

我加入了我的pom。xml,因为maven决定使用1.5而不是1.7的源和目标:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>

当我跑步时:

mvn clean install -X

我看到它告诉我正在使用JRE而不是JDK。但是我不能为了我的生命改变maven使用JDK而不是JRE。:-(

Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-15T04:37:52+10:00)
Maven home: /Users/skurlow/tools/apache-maven-3.2.1
Java version: 1.7.0_55, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_55.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"
[INFO] Error stacktraces are turned on.

运行的输出:

mvn --version

是:

Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-15T04:37:52+10:00)
Maven home: /Users/skurlow/tools/apache-maven-3.2.1
Java version: 1.7.0_55, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_55.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"

运行的输出:

javac -version

是:

javac 1.7.0_55

共有2个答案

印子平
2023-03-14

修复方法是删除工具。来自~/Library/Java/Extensions中我的主目录的jar

不知什么原因,我把它的JDK5版本放在那里。

如果您在 /Library/Java的根文件夹中有它,您也可以检查并删除它 /Extensions

平学
2023-03-14

我在windows环境中也有同样的错误。解决方案是将JAVA_HOME环境变量设置为JDK路径而不是JRE路径。这是:

JAVA\u HOME=C:\Program Files\JAVA\jdk1。7.0_55

路径=%JAVA_HOME%\bin

请确保遵循针对OSX的maven安装说明。对您来说,这可能是:

确保JAVA_HOME设置为JDK的位置,例如export JAVA_HOME=/usr/JAVA/jdk1。7.0_51和$JAVA_HOME/bin在PATH环境变量中。

 类似资料:
  • 问题内容: 我有一个用PHP编写的页面。我无权访问服务器。我想这样做,而不是在PHP遇到错误时显示错误消息,而是给出500。 问题答案: 如果display_errors关闭,PHP 5.2默认会发送致命错误的HTTP 500。如果托管使用较旧的PHP,则必须注册自己的错误处理程序以及可能的异常处理程序,然后将用户重定向到您的500错误页面。尝试按照@Umang的建议在PHP脚本中设置displa

  • 当我的网卡连接到网络A时,我正在启动我的RMI服务器。运行我的客户端按预期成功并打印“Hello World”。一旦我将网络连接更改为网络B(无需重新启动RMI服务器!)我无法再连接到服务器。服务器和客户端总是在同一台主机上运行,所以使用localhost地址就足够了。 服务器: 客户: 例外是: 它指的是在连接到网络A时分配给我的IP地址。注册表查找按预期工作,只有对的调用失败,但有上述异常。

  • 执行以下测试时,VS 2017 15.5.2在测试项目中发生上述错误。test.vbproj文件中有绑定重定向,但msBuild没有。 整个信息是 [失败]Msbuild 在处理文件“C:\Repos\roslyn-master\src\Samples\CSharp\APISampleUnitTests\APISampleUnitTestsCS.csproj”时失败,并显示消息:C:\Progra

  • 问题内容: 这是一个非常简单的测试,但我似乎无法正确完成。 我想检查哪些用户可以登录并执行操作(这是一整套测试的一部分),但是第一步会引起一些问题。 当我运行测试时,我得到: 为什么我不正确登录时django返回HTTP代码? 对于其他上下文,这是我如何管理登录/注销URL: 问题答案: Web社区中有一些关于对凭证失败的正确响应的辩论。例如,这是有关从切换到的Wordpress凭单。在Stack

  • 我做了一个check4的游戏,用户放置一个坐标,检查被下降到设置x坐标的底部。球员轮流,直到一个球员达到4个检查在一个连续,无论是水平,垂直或对角醇。这个游戏工作得很好,但出于某种原因,我不能让胜利者的方法正常工作。这并不是说它不起作用,我只是不能让比赛以正确的理由获胜,这似乎很随机。Ex-It不会打印__won,当X或O在一个行中得到4时,而是在游戏的随机会话中打印。

  • 问题内容: 我刚刚下载了hadoop并解压缩了文件。但是当我从命令提示符运行hadoop version命令时,我遇到了错误。我仔细检查一下,并将JAVA_HOME设置为“ C:\ Program Files \ Java \ jdk1.8.0_45”,这对我来说不错。 java -version命令的输出正常。请指教 。 问题答案: 您不应该包含。更改为 至 您可以将其添加到您的路径(在Wind