我有一个用NetBeans构建的Maven2平台项目。当我尝试创建一个新的平台模块时,会出现以下奇怪的错误:
cd ~/src; JAVA_HOME=/usr/lib/jvm/jdk1.7.0/bin/java ~/netbeans-7.3/java/maven/bin/mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes...
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/lib/jvm/jdk1.7.0/bin/java/bin/java在~/.bashrc中,我有JAVA_HOME的定义
export JAVA_HOME="/usr/lib/jvm/jdk1.7.0"
export JDK_HOME="/usr/lib/jvm/jdk1.7.0"后面没有斜杠,但是maven将/bin/java/bin/java附加到这个路径。我可以使用Maven构建已经存在的模块,只要创建一个新的模块就会失败。Maven从哪里得到这个JAVA_HOME?
编辑: maven设置:
$ mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
Java version: 1.7.0_17
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "3.2.0-39-generic" arch: "amd64" Family: "unix"发布于 2013-03-28 10:20:01
问题在于JAVA_HOME在~/.bash_profile中的定义不正确。
maven的NetBeans集成更倾向于:
System.getenv("JAVA_HOME")在此之前:
System.getProperty("java.home")发布于 2013-03-28 08:01:48
在命令行上重新定义JAVA_HOME以指向/usr/lib/jvm/jdk1.7.0/bin/java,这是错误的:
cd ~/src; JAVA_HOME=/usr/lib/jvm/jdk1.7.0/bin/java ...从命令行中删除JAVA_HOME=/usr/lib/jvm/jdk1.7.0/bin/java:
cd ~/src; ~/netbeans-7.3/java/maven/bin/mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes...发布于 2013-03-28 08:17:06
netbeans将JAVA_HOME从IDE中JAVA_HOME的定义中提取出来(参见工具/ Java平台)
除非您选择一个自定义平台,否则IDE将使用默认平台,即运行IDE的平台。
所有平台都需要在Tools/Java Platform对话框中定义,并且验证检查已经到位,以选择正确的文件夹。
也许是因为时间的改变而对你的定义是不正确的?
https://stackoverflow.com/questions/15676739
复制相似问题