[Risolto] Java Runtime Environment

Salve a tutti,
vi espongo il problema che sto incontrando.
Devo utlizzare una applicazione java per la rilevazione delle presenze nella mia
azienda e con OpenJDK non funziona molto bene.
Ho fatto i seguneti passi

Ho scaricato e installato :
jre-7u21-linux-x64.rpm

con

rpm -ivh jre-7u21-linux-x64.rpm

Coma da guida : http://doc.fedoraonline.it/Personal_Fedora_18_Installation_Guide_di_Mauriat_Miranda

da utente ho dato i comandi :

sudo /usr/sbin/alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000
sudo /usr/sbin/alternatives --install /usr/lib64/mozilla/plugins/libjavaplugin.so \ libjavaplugin.so.x86_64 /usr/java/default/lib/amd64/libnpjp2.so 20000

Tutto questo senza la benche minima segnalazione di errore.

Ma quando vado a chiamare lapplicativo da firefox mi si carica sempre con OpenJDK
invece che con il nuovo ambiente appena installato.
Secondo la guida dopo aver dato i comandi di cui sopra il sistema dovrebbe usare per default
il secondo ambiente e non quello preinstallato.

Dove sto sbagliando ?

Grazie ancora per la pazienza e la collaborazione di sempre.

D

Puoi usare il tag code? Lo abbiamo messo non per caso…

Perdona l’ignoranza che intendi ?

questo

usando il pulsante <>

Hai ragione scusami.
A volte la fretta e poi è peggio.

Secondo me non hai linkato correttamente la libreria su Firefox. La cartella sarà firefox, non fare un copia incolla e poi “incrociamo le dita”.
Verifica tutto passo passo, premendo per ogni cartella il tasto che ti completa il percorso. Non posso farlo qui ora per provare, non ho una Fedora nelle grinfie adesso…

Puntroppo nulla.
Ho ricontrollato il path passo passo con il tab e è
tutto assolutamente corretto.
Ma continua a caricare OpenJDk

[code]$ su -
password

alternatives --display java[/code]?

root@nb511243:/ => alternatives --display java java - stato: auto. il link attualmente punta a /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java - priorità 170019 slave keytool: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/keytool slave orbd: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/orbd slave pack200: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/pack200 slave rmid: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/rmid slave rmiregistry: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/rmiregistry slave servertool: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/servertool slave tnameserv: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/tnameserv slave unpack200: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/unpack200 slave jre_exports: /usr/lib/jvm-exports/jre-1.7.0-openjdk.x86_64 slave jre: /usr/lib/jvm/jre-1.7.0-openjdk.x86_64 slave java.1.gz: /usr/share/man/man1/java-java-1.7.0-openjdk.1.gz slave keytool.1.gz: /usr/share/man/man1/keytool-java-1.7.0-openjdk.1.gz slave orbd.1.gz: /usr/share/man/man1/orbd-java-1.7.0-openjdk.1.gz slave pack200.1.gz: /usr/share/man/man1/pack200-java-1.7.0-openjdk.1.gz slave rmid.1.gz: /usr/share/man/man1/rmid-java-1.7.0-openjdk.1.gz slave rmiregistry.1.gz: /usr/share/man/man1/rmiregistry-java-1.7.0-openjdk.1.gz slave servertool.1.gz: /usr/share/man/man1/servertool-java-1.7.0-openjdk.1.gz slave tnameserv.1.gz: /usr/share/man/man1/tnameserv-java-1.7.0-openjdk.1.gz slave unpack200.1.gz: /usr/share/man/man1/unpack200-java-1.7.0-openjdk.1.gz /usr/java/default/bin/java - priorità 20000 slave keytool: (null) slave orbd: (null) slave pack200: (null) slave rmid: (null) slave rmiregistry: (null) slave servertool: (null) slave tnameserv: (null) slave unpack200: (null) slave jre_exports: (null) slave jre: (null) slave java.1.gz: (null) slave keytool.1.gz: (null) slave orbd.1.gz: (null) slave pack200.1.gz: (null) slave rmid.1.gz: (null) slave rmiregistry.1.gz: (null) slave servertool.1.gz: (null) slave tnameserv.1.gz: (null) slave unpack200.1.gz: (null) La migliore versione attuale è /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java. root@nb511243:/ =>

Java oracle non risulta compiutamente installato.

[code]# alternatives --config java

rpm -qa|grep ^jre[/code]

I tag code per cortesia.

[code]Qua il mio output[/code]

EDIT:
Controlla anche

# alternatives --config libjavaplugin.so.x86_64

ecco gli output

[code]root@nb511243:/ => alternatives --config java

Ci sono 2 programmi che forniscono ‘java’.

Selezione Comando

*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
2 /usr/java/default/bin/java

Invio per mantenere l’attuale selezione+], o inserire il numero di selezione:
root@nb511243:/ =>[/code]

root@nb511243:/ => rpm -qa|grep ^jre jre-1.7.0_21-fcs.x86_64 root@nb511243:/ =>

[code]root@nb511243:/ => rpm -qa|grep ^jre
jre-1.7.0_21-fcs.x86_64
root@nb511243:/ => alternatives --config libjavaplugin.so.x86_64

Ci sono 3 programmi che forniscono ‘libjavaplugin.so.x86_64’.

Selezione Comando

1 /usr/lib64/IcedTeaPlugin.so
*+ 2 /usr/java/default/lib/amd64/libnpjp2.so
3 /usr/java/latest/jre/lib/amd64/libnpjp2.so

Invio per mantenere l’attuale selezione+], o inserire il numero di selezione:
root@nb511243:/ =>[/code]

# alternatives --config java

Scegli “2”, premi invio.
In Firefox, disattiva “IcedTea-Web plugin” e riavvia Firefox.

Ho fatto entrambe le cose :

[code]root@nb511243:/ => alternatives --config java

Ci sono 2 programmi che forniscono ‘java’.

Selezione Comando

  • 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
  • 2 /usr/java/default/bin/java

Invio per mantenere l’attuale selezione+], o inserire il numero di selezione: ^C
root@nb511243:/ =>[/code]

e disabilitato il plugin da firefox e riavviato il browser ma
quando carico l’applicazione mi dice :

è stato richiesto il file jnpl tal dei tali.
Cosa deve fare Firefox con questo file ?
Aprirlo con IcedTea Web Start (predefinita) ?
Quindi mi sembra punti sempre al vecchi ambiente.
Come faccio a farlo puntare al nuovo ?

D

Qualche idea o suggerimento ?
Non riesco a far passare il sistema sul nuovo ambiante java.
Grazie.
D

Non c’è bisogni di fare “up” del thread. Guarda la netiquette.

In firefox, vai alla pagina about:plugins.
Controlla che ci sia quanto segue:

[code]Java Plug-in 1.7.0_21

File: libnpjp2.so
Versione: 
Stato: Enabled
Java plug-in for NPAPI-based browsers.[/code]

Per quanto riguarda i javaws/jnlp; dovrebbero essere associati di default con icedtea.
Controlla pure con

$ cat $(locate $(xdg-mime query default application/x-java-jnlp-file))

L’associazione per i javaws è installata con il pacchetto icedtea-web.
Potresti modificare la preferenza, oppure

# yum remove icedtea-web

quindi

# alternatives --install /usr/bin/javaws javaws /usr/java/default/bin/javaws 20000
# nano /usr/share/applications/javaws.desktop

e incolli

[Desktop Entry] Name=Java Web Start Comment=Java Web Start Application Launcher Exec=/usr/bin/javaws %f Icon=javaws Terminal=false Type=Application NoDisplay=true Categories=Network;WebBrowser; MimeType=application/x-java-jnlp-file; X-Desktop-File-Install-Version=0.21
; procedi con

$ xdg-mime default /usr/share/applications/javaws.desktop application/x-java-jnlp-file

, quindi in firefox apri un jnlp, scegli di aprire con “/usr/bin/javaws” e memorizza l’associazione.

Ho eseguito i comandi che mi hai suggerito a partire da :
yum remove icedtea-web

sono andati tutti a buon fine tranne l’ultimo che ha risposto così :

root@nb511243:/root => xdg-mime default /usr/share/applications/javaws.desktop application/x-java-jnlp-file touch: impossibile fare touch di "/root/.local/share/applications/mimeapps.list": File o directory non esistente /bin/xdg-mime: line 805: /root/.local/share/applications/mimeapps.list.new: File o directory non esistente root@nb511243:/root =>

Ho provato a caricare l’applicativo associandolo a /usr/bin/javaws
ma dopo averlo scaricato mi dice “Impossibile avviare l’applicazione”
con i seguenti errori in dettaglio :

[code]Eccezione
CouldNotLoadArgumentException Impossibile caricare il file/l’URL specificato: /tmp/tmp_cache1998823001702178683.tmp]
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Eccezione sottoposta a wrapping
ava.io.FileNotFoundException: /tmp/tmp_cache1998823001702178683.tmp (File o directory non esistente)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)[/code]

Quel comando non va dato da root. Spero non sia necessario ricordare che nemmeno firefox va aperto da root.
Testa un altro jnlp.

Dato il comando da utente e avviato Firefox da utente.
Sempre da utente ho settato il proxy corretto lanciando
/usr/java/jre1.7.0_21/bin/ControlPanel

Tutti i test dell’ambiente java mi danno esito positivo
ma questa applicazione da errore.
La cosa che mi fa pensare che abbia ancora qualche problema io
è che questa applicazione chiamata da ambiente windows funziona perfettamente.
Ecco l’errore :

[code]Impossibile avviare l’applicazione

Eccezione
CouldNotLoadArgumentException Impossibile caricare il file/l’URL specificato: /tmp/tmp_cache2934783769683897321.tmp]
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Eccezione sottoposta a wrapping
java.io.FileNotFoundException: /tmp/tmp_cache2934783769683897321.tmp (File o directory non esistente)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)[/code]

Preciso anche che prima
con icedtea-web
questa applicazione partiva tranquillanete
ma non funzionava a dovere.

Testa un diverso jnlp.