2012-06-13 6 views
6

Quando ho creato il Jikes RVM su Unbuntu, ho ricevuto questo errore. Qualche idea?"Errore: JAVA_HOME non è stato definito correttamente." nell'edificio 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

variabili ambientali: 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

ho controllato i java nel 01.239.180,113 mila Directory, funziona. Non importa come modifico le variabili ambientali, l'errore continua a lamentarci "Non possiamo eseguire /opt/jdk1.6.0/bin/java". Sembra che non abbia modificato la "posizione" giusta.

Qualsiasi indizio?

Grazie!

risposta

7

eseguire questo comando:

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

Per sapere quale file è l'impostazione JAVA_HOME a quel percorso.

+0

Ciao Rocky, seguendo il tuo comando, ho capito: global.javahome.ia32-linux =/opt/jdk1.6.0 global.javahome.x86_64-linux =/opt/jdk1.6.0 Ma quali sono? Come posso cambiarli? Grazie! – JackWM

+0

Scusa Suppongo che dovresti aggiungere l'opzione -l in modo da poter vedere il file in cui è definito: find. -exec grep -l "jdk1.6.0" {} \; che stamperà il nome del file, quindi modificherà quel file. –

+0

Li trovo. Sono in /bin/buildit.base_config. Dopo averli modificati sul vero JAVA_HOME, l'errore scompare. Grazie! – JackWM

0

È JRE ma non JDK. Installa JDK e fai in modo che JAVA_HOME lo indichi.

+0

puoi dare un esempio su come farlo? –

+0

Vuoi dire un esempio di come installare JDK? Prendilo dal repository. JAVA_HOME potrebbe essere esportato in shell come variabile. –

3

Mentre si costruiscono i jikes, è possibile crearli utilizzando la formica o il comando che si sta utilizzando. Se il problema JAVA_HOME sta causando problemi uso

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

-Questo è presente in "/usr/bin/jvm".

Un altro metodo: C'è bin/buildit.base_config in cui il percorso per JAVA_HOME è specificamente menzionato. Così in "# Default JAVA_HOME values", è possibile modificare la posizione del caso, per esempio,

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 

È possibile scegliere quale si desidera utilizzare. Se non hai familiarità con la tua architettura, modifica tutto e ora puoi creare senza preoccuparti del fatto che il tuo percorso java sia menzionato esplicitamente. Per informazioni più dettagliate controllare this blog

Ho anche scritto un piccolo articolo su come si possa start to fiddle with Jikes

+0

@jackWM: Attualmente c'è un bug in jikes mentre lo si sta sviluppando con openjdk 7 e funziona bene con la versione 6, quindi usa la versione 6. – Rorschach

-1

si potrebbe ottenere questo errore a causa paio di motivi. Per risolvere rapidamente questo problema, attenersi alla seguente procedura,

Per prima cosa individuare la posizione java.Per ottenere un elenco dei tuoi piattaforme Java installati, eseguire il seguente comando dal terminale:

$ sudo update-alternatives --config java 

Ora impostare JAVA_HOME e PATH,

$ export JAVA_HOME=<java_home> 

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

Creare il link simbolico

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

Quando abbiamo prendi il tuo caso come esempio:

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

Il comando precedente creerà la posizione del collegamento simbolico in cui il sistema sta cercando di trovare il problema.

Infine prova la tua app.