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

mvn-命令行上显示不同版本Java的版本

印季
2023-03-14

今天我和jenv一起玩,将Java1.8设置为全局版本,将1.7设置为本地项目。此后,mvn命令在全局位置显示为java版本12-

SandeepanNath:current sandeepan.nath$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T22:11:47+05:30)
Maven home: /Users/sandeepan.nath/.sdkman/candidates/maven/current
Java version: 12.0.1, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.3", arch: "x86_64", family: "mac"

而Java版本显示如预期-

SandeepanNath:.ssh sandeepan.nath$ java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)

我试图卸载和安装maven通过sdkman再次,在Mac上。虽然它没有新鲜下载。我仍然得到同样的错误。

我该怎么解决这个问题?

共有1个答案

邓昀
2023-03-14

也许你的答案已经在这里了:https://stackoverflow.com/a/7033062/4424668

我想,您已经在某个点上设置了一个JAVA_HOME环境变量,它指向JAVA 12安装。

您的具体问题(Jenv Maven)的实际解决方案如下:html" target="_blank">https://stackoverflow.com/a/37466252/4424668

您可能需要通过调用Jenv enable Plugin maven为Jenv启用maven插件。之后,Maven应该考虑Jenv激活的版本。

编辑:因为您实际上使用SDKMAN F ur管理Maven候选,所以您也可以考虑使用SDKMAN作为java候选。无论如何,也许maven插件实际上并没有修复您的SDKMAN maven候选者。更简单的解决方案可能是启用导出插件,它实际上直接设置环境变量。在Jenv的Github页面上查看一下:https://github.com/jenv/jenv

 类似资料:
  • 问题内容: 我想在命令行上获取Node.js的版本。我期望运行类似的命令: 但这不起作用。有人知道命令行是什么吗?(即不是REPL) 问题答案: 命令行是: 要么 注意: 如果不行,但行得通,则说明您的系统上的某些设置不正确。

  • 我想在命令行上获得node.js的版本。我希望运行这样的命令: 但那不起作用。有人知道命令行是什么吗?(即不是REPL)

  • 在写这篇文章的时候(11/19/2019),我在我的Windows10机器上下载了Java JDK版本13.0.1。下载后,我修改了机器上的Path系统变量,以包含以下路径“C:\Program Files\java\jdk-13.0.1\bin”(没有双引号)。然后我修改了我的JAVA_HOME系统变量,以包含以下路径“C:\program files\java\jdk-13.0.1”。但是,当

  • 我正在运行

  • 首先也是最重要的是,我对Java知之甚少,对SWT更是知之甚少,所以我就到此为止。今天早些时候,我试着运行我在上找到的这个简单程序https://mkyong.com/swt/swt-hello-world-example 以下是代码: 当我运行它时,会出现以下错误: 我从中了解到的是,SWT正在用Java11编译,而它应该用Java8编译,但是——这是一个很大的BUT——我没有Java11我删除

  • 我用的是Cent-OS。 导出路径=$path:$java_home/bin 请告诉我如何将java版本只设置为1.8。