我的终端安装了maven,在获取版本设置时(使用mvn -v
),它似乎使用的是JDK 1.6,而我安装的是JDK 1.7,有什么问题吗?
我输入的命令如下:
blues:helloworld Ninja$ java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)`
blues:helloworld Ninja$ mvn -v
Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-28 10:15:32+0800)
Maven home: /usr/local/Cellar/maven/3.1.0/libexec
Java version: 1.6.0_51, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: zh_CN, platform encoding: EUC_CN
OS name: "mac os x", version: "10.8.4", arch: "x86_64", family: "mac"
9条答案
按热度按时间hts6caw31#
将以下内容添加到您的
~/.mavenrc
:第二种溶液:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
nmpmafwu2#
进入
并更新
CurrentJDK
符号链接以指向例如
现在它应该立即工作。
nzkunb0c3#
你也可以这样做,
ljsrvy3e4#
你也可以显式地告诉maven要编译哪个java版本,你可以试着把
maven-compiler-plugin
添加到你的pom中。如果您将maven项目导入到IDE中,则IDE中可能存在maven运行器正在使用的默认编译器的maven设置。
ny6fqffe5#
它帮了我。把它加到你的pom.xml里。
默认情况下,maven编译器插件使用Java 1.5或1.6,您必须在pom.xml中重新定义它。
5fjcxozz6#
对于Eclipse用户。例如,如果您有一个运行配置,可以清理包。
在运行配置面板中有一个JRE选项卡,您可以在其中指定运行时。请注意,此配置将覆盖pom.xml中的任何内容。
8mmmxcuj7#
我回答这个问题已经晚了,但我认为在MacOS上处理JDK版本的最佳方法是使用以下位置描述的脚本:http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/
vngu2lb88#
请检查兼容性。我与
mvn 3.2.1
和jdk 1.6.0_37
斗争了很多小时。所有变量都设置了,但不工作。最后我升级了jdk to 1.8.0_60
和mvn 3.3.3
,工作正常。环境变量如下:b1payxdu9#
@MasterGaurav的解决方案效果完美。
我通常将Java switch语句放入一个zsh函数中:
您可以运行
java_ls
来获取机器上所有可用的JVM,然后使用
java_use 1.7
来为Java和Maven使用1.7。