View Full Version : Java e JDOM... info
Dovrei realizzare un progetto in Java che utilizzi l'API JDOM per creare un documento XMI. Fin qui tutto bene, ho trovato parecchia documentazione per la gestione del'I/O ecc.
Il problema è nell'installazione del componente nel PC.
Ho provato a seguire le indicazioni sul sito, ho provato a installare le directory direttamente all'interno della cartella \JAVA del PC e modificare il PATH a mano, ma quando mando in compilazione ho sempre un errore sulle chiamate alle classi JDOM.
Ho usato si eclipse sia JCreator, ma è lo stesso...
C'è qualche anima pia che mi può indicare passo passo come ha fatto? :muro:
la variabile di ambiente è CLASSPATH e non PATH e deve puntare al percorso completo del file jar, non alla directory che lo contiene.
Ho provato a creare la variabile di ambiente CLASSPATH e indicare come percorso quello del file jar, ma non cambia nulla.... :muro:
Ho provato a creare la variabile di ambiente CLASSPATH e indicare come percorso quello del file jar, ma non cambia nulla.... :muro:
fai una prova compilando il tuo programma a riga di comando, con javac, poi una volta che ci sei riuscito cerca di riportare le modifiche opportune nella configurazione dei tool che usi (eclipse, jcreator)
All'interno di eclipse penso ci sia l'opzine per indicare le librerie esterne da includere nel progetto.
Compilando a mano usa l'opzione -classpath "percorso del jar";"altri percorsi delle calssi"
Qualche cambiamento l'ho ottenuto mettendo nel CLASSPATH il percorso della cartella SRC di JDOM, in questo modo ottengo un solo errore (invece dei 100 precedenti :eek: ) all'inizio del file nella direttiva import java.org.jdom.Namespace; mi dice "cannot access java.org.jdom.Namespace"... :muro: :muro: :muro: :muro:
Io nel moi programma lo importo cosi:
import org.jdom.*;
senza il java. iniziale
... al percorso completo del file jar...
Tanto per capirci quale file jar? .\build\jdom.jar o .\lib\xercers.jar :confused:
Tanto per capirci quale file jar? .\build\jdom.jar o .\lib\xercers.jar :confused:
se usi jdk >=1.4 solo il primo
Ok, il file jdom.jar dovrebbe essere creato nella cartella .\build dopo aver eseguito il file build.bat.
Fin qui tutto ok. il file c'è e l'ho messo nel CLASSPATH così come la directory .\SRC.
In questo modo ottengo "solo" degli errori nelle linee di import evidenziate sotto:
import java.io.*;
import java.lang.*;
import java.util.StringTokenizer;
import java.org.jdom.*;
import java.org.jdom.Namespace;
import java.org.jdom.output.XMLOutputter;
import java.org.jdom.input.SAXBuilder;
Mi dice "cannot access java.org.jdom.Namespace"...
Chi di voi utilizza questa API mi potrebbe cortesemente indicare passo passo le operazioni che ha fatto per farle funzionare partendo dallo zip appena scaricato alla configurazione dell'IDE (uno qualsiasi), passando per le variabili di ambiente? :ave: :ave: :ave:
Non so più cosa fare.... :muro: :muro: :muro:
dovresti importarli cosi:
import org.jdom.*;
import org.jdom.Namespace;
import org.jdom.output.XMLOutputter;
import org.jdom.input.SAXBuilder;
senza il java. iniziale
Per importare la libreria in un ide dipende dall'ide, per compillare da linea di comando con javac:
javac -classpath percorso_del_file_jdom.jar;eventuali_altri_percorsi_delle_classi file.java_da_compilare
ad esempio se hai jdom.jar nella cartella corrente nella quale saranno messi anche gli altri file .class:
javac -classpath ./jdom.jar;. file.java
per eseguire devi utilzzare la variabile classpath nello stesso modo
Bah.... :confused: adesso sembra funzionare, ma la cosa non mi convince... non ho modificato nulla... :confused:
Utilizzando JCreator, nelle classi del profilo JDK ho aggiunto la directori .\src e il file .\build\jdom.jar. Poi ho tolto il java. davanti agli import e adesso compila...
La cosa mi suona strana dato che le stesse impostazioni le ho già provate e non funzionava.... :boh: ....
Cmq grazie a tutti per i consigli e la pazienza :) non so esattamente cosa ho fatto ma adesso almeno posso lavorare.... :sperem:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.