Netbeans Maven项目:JAVA_HOME未正确定义

时间:2013-03-28 07:58:20

标签: java maven netbeans maven-2 netbeans-platform

我有一个使用Maven2构建的NetBeans平台项目。当我尝试创建一个新的平台模块时,我得到了这个奇怪的错误:

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"

4 个答案:

答案 0 :(得分:1)

您在命令行上重新定义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...

答案 1 :(得分:0)

netbeans从IDE中Java平台的定义中获取JAVA_HOME(参见工具/ Java平台)

除非您选择自定义平台,否则IDE将使用默认的IDE运行IDE。

需要在“工具/ Java平台”对话框中定义所有平台,并进行验证检查以选择正确的文件夹。

也许某些事情会及时改变,而且定义不正确?

答案 2 :(得分:0)

问题在于JAVA_HOME

~/.bash_profile的定义不正确

maven更喜欢NetBeans集成:

System.getenv("JAVA_HOME")

之前:

System.getProperty("java.home")

答案 3 :(得分:0)

for linux在netbeans java / maven / bin文件夹下找到maven可执行文件并添加

from="/bin/bin/java"
to="/bin/java"
JAVACMD="${JAVACMD/$from/$to}" 
行前

if [ ! -x "$JAVACMD" ] ; then
  echo "Error: JAVA_HOME is not defined correctly."

欢呼声