PDA

View Full Version : [JAVA] - archivio jar funziona solo su alcuni pc


zemy
11-09-2012, 18:24
Salve, ho creato una piccola applicazione java e l'ho esportata in un file jar.

Il jar viene eseguito correttamente sulla mia macchina (win xp 32 bit, jre7, jre6) su un altra mia macchina (win 7 64 bit, jre7) e su un altra ancora (win 7 32 bit jre 7, jre 6) tuttavia non viene eseguito per nulla su altre due macchine su cui l'ho testato (win xp 32 bit jre 6).

Pensavo fosse un problema di jvm, tuttavia sia installando nelle macchine jre 7, sia adattando e ricompilando il mio programma per la versione 6 di java non ho ottenuto risultati migliori.

Non ricordo l'errore ad ogni modo da un problema di class not found.
Questo farebbe pensare al manifest o a qualche libreria mal disposta tuttavia non è così altrimenti non sarebbe partito sulle altre macchine (faccio presente che il file viene fatto partire direttamente da un disco di rete, dunque non può nemmeno dipendere da una diversità delle dipendenze fra le cartelle.)

Qualcuno può aiutarmi ad analizzare / risolvere il problema?

Grazie

Maui78
12-09-2012, 15:20
Io verificherei che le variabili impostate puntino ai path corretti, e comunque verificherei che queste siano uguali tra i vari sistemi.
Controlla anche che non siano presenti più versioni di java sui pc che potrebbero ingannarti nella risoluzione del problema.

Ciao

zemy
13-09-2012, 09:35
Intendi le variabili d'ambiente per java, oppure il classpath inserito nel manifest?

se si tratta del classpath sono tutti percorsi relativi, basati sulla cartella che contiene il file jar, cartella nella quale ho inserito anche la libreria extra (JXL) mancante, dunque dovrebbero essere reperibili tutti i percorsi da qualunque pc nello stesso identico modo (è su un disco condiviso). Ovviamente quel che non è condiviso e mappato sono le librerie base di Java7/Java6.


Manifest-Version: 1.0
Created-By: XXXXXX
Main-Class: RubricaAziendale
Class-Path: ../lib/jxl-2.6.12.jar





ALBERATURA:

[bin] - export - import - salvataggi - immagini - impostazioni
|
class - lib - reg
| | |
classi+manifest+jar libreria extra voci di registro

Maui78
13-09-2012, 12:12
Mi riferisco alle variabili d'ambiente di java. Su windows non mi è mai capitato di lavorarci, ma su unix i riferimenti a PATH,CLASSPATH,LIBPATH mi hanno spesso tratto in inganno, per questo ti consigliavo di controllare. Magari il path è disposto in un modo tale che una classe ne sovrascrive un'altra.
Ma il ClassNotFoundException fa riferimento a una classe del tuo programma o a una generica della jvm ?

Lancill
15-09-2012, 22:59
verifica che le JRE installate nei rispettivi sistemi siano quelle giuste (cioè che per i 64bit ci sia la versione a 64bit della JRE e lo stesso per i 32...).