2012-06-13 7 views
6

私がUnbuntuにJikes RVMをビルドしたとき、私はこのエラーを受け取りました。何か案が?"エラー:JAVA_HOMEが正しく定義されていません。" 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] 
=================================================== 

OS:

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

私はにjavaをチェックしますディレクトリ、それは動作します。 どのように環境変数を変更しても、エラーは「私たちは/opt/jdk1.6.0/bin/javaを実行できません」と不平を言っていました。私は正しい "ポジション"を変更していないようです。

ヒント?

ありがとうございます!

答えて

7

実行し、このコマンド:

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

そのパスにJAVA_HOMEを設定されているファイルを見つけるために。

+0

こんにちはRocky、あなたのコマンドに従う、私はこれを持っています:global.javahome.ia32-linux =/opt/jdk1.6.0 global.javahome.x86_64-linux =/opt/jdk1.6.0しかし、それらは何ですか?どうすれば変更できますか?ありがとう! – JackWM

+0

申し訳ありません、あなたが定義したファイルを見ることができるように、-lオプションを追加してください:find。 -exec grep -l "jdk1.6.0" {} \;それはファイル名を表示し、そのファイルを編集します。 –

+0

私はそれらを見つける。それらは/bin/buildit.base_configにあります。実際のJAVA_HOMEに変更した後、エラーは消えます。ありがとう! – JackWM

0

JREではなくJDKです。 JDKをインストールし、JAVA_HOMEを指し示してください。

+0

これを行う方法の例を挙げることはできますか? –

+0

あなたはJDKをインストールする方法の例を意味しますか?リポジトリから取り出してください。 JAVA_HOMEは変数としてシェルにエクスポートできます。 –

3

jikesをビルドするときは、antを使用してビルドするか、使用しているコマンドを使用してビルドすることができます。 JAVA_HOMEの問題はトラブルの使用に

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

- この原因となっている場合は、「/usr/bin/jvm」に存在しています。

別の方法:JAVA_HOMEのパスを具体的に説明するbin/buildit.base_configがあります。だから、「# 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パスについて心配することなくビルドすることができます。より詳細な情報については、 this blog

をチェックし、私もあなたが原因の理由のカップルに、このエラーを取得する可能性がありますどのように1缶start to fiddle with Jikes

+0

@jackWM:現在、openjdk 7でビルドしている間にジークにバグがあり、バージョン6でうまくいきますので、バージョン6を使用してください。 – Rorschach

-1

上の小さな記事を書かれています。これをすばやく修正するには、次の手順を実行してください。

まず、Javaの場所を見つけます。インストールしたJavaプラットフォームのリストを取得するには、端末から次のコマンドを実行します。今JAVA_HOMEとPATHを設定

$ sudo update-alternatives --config java 

$ 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 

上記のコマンドは、問題でシステムが検索しようとしているシンボリックリンクの場所を作成します。

最後に、あなたのアプリを試してみてください。

関連する問題