6

当我在 Ubuntu 上构建 Jikes RVM 时,我得到了这个错误。任何的想法?

bin/buildit localhost production
---> Config: production
/bin/bash --login -c  '/bin/bash --login -c  "   cd /home/jack/Programs/jikesrvm-3.1.2 &&  export JAVA_HOME=/opt/jdk1.6.0 &&   ant very-clean -Dhost.name=ia32-linux &&  ant check-components-properties -Dhost.name=ia32-linux -Dtarget.name=ia32-linux -Dcomponents.cache.dir=/home/jack/.buildit_components_cache  &&   ant -Dtarget.name=ia32-linux -Dconfig.name=production -Dhg.revision= -Dhost.name=ia32-linux -Dcomponents.cache.dir=/home/jack/.buildit_components_cache "' 
Error: JAVA_HOME is not defined correctly.
  We cannot execute /opt/jdk1.6.0/bin/java
Wed Jun 13 12:23:37 EDT 2012
===================== Summary =====================
Local   : /home/jack/Programs/jikesrvm-3.1.2
Build   : ubuntu:/home/jack/Programs/jikesrvm-3.1.2
Target  : ubuntu:/home/jack/Programs/jikesrvm-3.1.2
Start   : Wed Jun 13 12:23:37 EDT 2012
Config  : production [FAILED Wed Jun 13 12:23:37 EDT 2012]
===================================================

操作系统:

Linux ubuntu 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux

环境变量:PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-6-sun-1.6.0.22/bin<

JAVA_HOME

/usr/lib/jvm/java-6-sun-1.6.0.22

javaJAVA_HOME/bin目录中检查了它,它可以工作。无论我如何更改环境变量,错误一直在抱怨

“我们无法执行 /opt/jdk1.6.0/bin/java”。

看来我没有修改正确的“位置”。

4

4 回答 4

7

运行这个命令:

find . -exec grep "jdk1.6.0" {} \;

找出哪个文件将 JAVA_HOME 设置为该路径。

于 2012-06-13T18:25:05.587 回答
3

在构建 jikes 时,您可以使用 ant 或使用您正在使用的命令来构建它。如果 JAVA_HOME 问题导致使用麻烦

bin/buildit localhost production -j"path to your jvm directory"

- 这出现在“ /usr/bin/jvm”中。

另一种方法:有bin/buildit.base_config,其中特别提到了JAVA_HOME的路径。所以在“ # Default JAVA_HOME values”下可以修改适当的位置,例如,

global.javahome.ppc32-linux=/usr/lib/jvm/java-6-sun-1.6.0.26
global.javahome.ppc64-linux=/usr/lib/jvm/java-6-sun-1.6.0.26
global.javahome.ia32-linux=/usr/lib/jvm/java-6-sun-1.6.0.26
global.javahome.x86_64-linux=/usr/lib/jvm/java-6-sun-1.6.0.26

您可以选择要使用的。如果不熟悉您的架构,请修改所有内容,现在您可以构建,而不必担心明确提及您的 java 路径。有关更多详细信息,请查看此博客

我还写了一篇关于如何开始摆弄 Jikes的小文章

于 2012-07-02T12:52:13.447 回答
0

它是 JRE,但不是 JDK。安装 JDK 并使 JAVA_HOME 指向它。

于 2012-06-13T18:21:43.723 回答
-1

由于几个原因,您可能会收到此错误。要快速解决此问题,请按照以下步骤操作,

首先找到java位置。要获取已安装 Java 平台的列表,请从终端运行以下命令:

$ sudo update-alternatives --config java

现在设置 JAVA_HOME 和 PATH,

$ export JAVA_HOME=<java_home>

$ export PATH=$JAVA_HOME/jre/bin:$PATH

创建符号链接

$ sudo ln -s <java_home>/jre <java_symlink_path>

当我们以您的案例为例时:

$ sudo ln -s /usr/lib/jvm/java-6-sun-1.6.0.22/jre /opt/jdk1.6.0

Above command will create the symlink location where the system is trying to find in your issue.

Finally do the try your app.

于 2016-05-27T09:30:54.480 回答