PDA

View Full Version : [java-eclipse] includere libreria axis


_fefe_
09-12-2008, 13:59
ciao ragazzi
sono un po' digiuno di java, ma devo risolvere un problema:

ho un file WSDL che ho trasformato in .java grazie ad axis2.
I file generati contengono diverse classi. Quello che devo fare io è creare un main che chiami un metodo particolare di queste classi passandogli dei valori letti da riga di comando.
il tutto deve essere "impacchettato" in un comodo file .jar.
proprio su questo ultimo punto nascono i miei problemi. Quando do il comando export->jar file...... ottengo le seguenti cose:

1- il file manifest.mf risulta vuoto. In pratica non c'è scritto dov'è il main. Questo l'ho risolto creando a mano il file e dicendo ad eclipse di usare quello creato. Però non credo che sia la soluzione ideale.:help:

2- al tentativo di eseguire il jar da riga di comando, ottengo solo un errore:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axis2/AxisFault
AxisFault è presente tra le classi di axis ed infatti eclipse risolve benissimo le chiamate e non dà errore. Però non lo include nella creazione del jar. Perchè? come risolvo?

grazie

_fefe_
10-12-2008, 09:37
ragazzi :help:
vi pregoooooo :cry:

^TiGeRShArK^
10-12-2008, 14:29
devi aggiungere:
Class-Path: jar1.jar jar2.jar jar3.jar
comunque ti consiglio la lettura di questo (http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html) link...

_fefe_
10-12-2008, 14:46
devi aggiungere:
Class-Path: jar1.jar jar2.jar jar3.jar
comunque ti consiglio la lettura di questo (http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html) link...

ok grazie, ora leggo.
ma aggiungere dove?
jar1.jar jar2.jar jar3.jar immagino siano i jar contenenti le classi di axis cui fanno riferimento le mie, giusto?

^TiGeRShArK^
10-12-2008, 15:13
ok grazie, ora leggo.
ma aggiungere dove?
jar1.jar jar2.jar jar3.jar immagino siano i jar contenenti le classi di axis cui fanno riferimento le mie, giusto?

si, e Class-Path è un attributo che va aggiunto al manifest.mf :p

_fefe_
10-12-2008, 15:29
si, e Class-Path è un attributo che va aggiunto al manifest.mf :p

ok, mi era sembrato di capirlo dal link che mi hai dato :mc:
ma la classe che le mie usano, io la devo mettere in un unico .jar. In pratica devo fare un solo pacchetto. Che faccio? metto il jar di axis dentro il mio jar? e come lo faccio?

^TiGeRShArK^
10-12-2008, 15:31
no, i jar di axis li devi lasciare separati.
Se vuoi mettere tutto in un unico pacchetto basta zippare il tutto :p
Potresti anche decomprimere i jar di axis e comprimerli dentro il tuo jar (in questo modo ti eviteresti anche l'attributo Class-Path), ma è una cosa assolutamente sconsigliata di solito...

_fefe_
10-12-2008, 15:50
no, i jar di axis li devi lasciare separati.
Se vuoi mettere tutto in un unico pacchetto basta zippare il tutto :p
Potresti anche decomprimere i jar di axis e comprimerli dentro il tuo jar (in questo modo ti eviteresti anche l'attributo Class-Path), ma è una cosa assolutamente sconsigliata di solito...

ho inserito la seguente riga nel file manifest.mf:
Class-Path: axis2-kernel-1.4.1.jar
senza righe vuote prima
però, quando dico ad eclipse di generare il mio .jar ottengo il seguente errore:

Resource is out of sync with the file system: '/SetupKS/src/setupks/MANIFEST.MF'.

cosa sbaglio?
avevo provato anche con il percorso completo del jar, con lo stesso risultato

_fefe_
10-12-2008, 15:57
che stup..o che sono :muro: non trovava il file
ora funziona e parte, solo che mi chiede un'altra classe sempre di axis.
Ma devo mettere tutti i jar di axis per poter eseguire il mio programma?

^TiGeRShArK^
11-12-2008, 00:08
che stup..o che sono :muro: non trovava il file
ora funziona e parte, solo che mi chiede un'altra classe sempre di axis.
Ma devo mettere tutti i jar di axis per poter eseguire il mio programma?

of course :p

_fefe_
11-12-2008, 17:01
of course :p

grazie, sei gentilissimo.
dopo lunga fatica ho trovato tutti i jar che mi sevono e sono riuscito a creare il mio jar perfettamente funzionante.