Scusate ma non ci capisco + nulla :berto:
Quando io scarico un file Jar sul pc dove "sviluppo"i programmi dove devo copiare il suddeto Jar perchè la compilazione e l'esecuziona vadano a buon fine!?!
Scusate ma non ci capisco + nulla :berto:
Quando io scarico un file Jar sul pc dove "sviluppo"i programmi dove devo copiare il suddeto Jar perchè la compilazione e l'esecuziona vadano a buon fine!?!
se usi qualche IDE molto probabilmente troverai qualcosa come "build path" o "classpath" nelle proprieta' del progetto dove specificare le librerie (i jar) necessari alla compilazione/esecuzione del progetto...
se invece fai tutto da riga di comando e compili "a mano" con javac, credo che tu debba specificare sulla tua riga di comando (con un apposito parametro che non ricordo) il percorso di tutte le librerie, o forse solo la cartella dove sono contenute tutte le librerie a cui devi fare riferimento (ancora una volta non ricordo).
stessa cosa quando avvii l'applicazione da riga di comando con "java".
a linea di comando devi usare l'opzione -classpath e specificare tutti i jar (con il relativo path) che usi.
Attento che non basta specificare la cartella: deve esserci anche il nome completo (la cartella la si specifica per i file .class).
Altro accorgimento: gli IDE hanno delle proprie regole di precedenza per i JAR (tipo: Eclipse usa l'ordine con cui compaiono nelle proprietà del progetti), application server o servlet container altre regole ancora (Tomcat, per esempio, uso un ordine lessicografico partendo da WEB-INF/lib e poi CATALINA_HOME/common/lib etc etc) mentre per la linea di comando conta l'ordine con cui elenchi i vari JAR.
Questo significa che se hai file jar diversi (come jar1.jar e jar2.jar) e al loro interno hai una stessa classe con lo stesso package, puoi avere problemi usando IDE diversi o facendo un semplice deploy! Per questo è sempre consigliato avere JAR che contengono, tra loro, classi diverse!
ciao!
Ivan Venuti
Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !
prima : di tutto grazie a tutti
secondo : compilo e eseguo da linea di comando
terzo : non funziona![]()
quando vado a eseguire il programma
java prova -classpath c:\Java\prove\excel\jxl.jar
ricevo questo errore
con questo codiceException in thread "main" java.lang.NoClassDefFoundError: jxl/Workbook
at prova.main(prova.java:19)
codice:import java.io.*; import java.util.Calendar; import jxl.*; public class prova{ public static void main(String [] args){ String xlModelPath="C:\\Java\\prove\\excel\\Forn_in.xls"; String [] tempArr; String firstDatePianoDpForn="12/12/2006"; Calendar rightNow; FileOutputStream xlOut; //System.out.print("Aggiorno data file modello xls "); try{ rightNow = Calendar.getInstance(); tempArr=firstDatePianoDpForn.split("/"); rightNow.set(Calendar.DAY_OF_MONTH,Integer.parseInt(tempArr[0])); rightNow.set(Calendar.MONTH,Integer.parseInt(tempArr[1])); rightNow.set(Calendar.YEAR,Integer.parseInt(tempArr[2])); Workbook wb=Workbook.getWorkbook(new File(xlModelPath)); Sheet sheet=wb.getSheet(0); System.out.print("Aperto foglio "+sheet.getName()); sheet=null; wb=null; }catch(Exception e){ System.out.println("Errore modifica file modello xls:"+e); return; } System.out.println(" OK"); } }
sbagli l'ordine; usa:
java -classpath c:\Java\prove\excel\jxl.jar;. prova
p.s ho incluso anche "." nel classpath in quanto penso tu lanci l'interprete dove sta il file prova.class; se così non è devi specificare la cartella dove risiede...
Ivan Venuti
Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !
Goduria
Goduria
Goduria
Goduria
Goduria
Goduria
Grazie gente
Il problema posto in questa discussione era comunque dipendente da quello descritto qui, discussione che ho poi unito con la precedente.Originariamente inviato da wallrider
Goduria
Grazie gente
Io eviterei di aprire più discussioni che sostanzialmente affrontano problemi legati alla stessa operazione, o meglio se si decide di separarle, si dovrebbe evitare di trattare lo stesso problema in più punti, aprendo discussioni diverse, con titolo diverso, ma che all'interno parlano della stessa cosa.
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
chiedo scusa, al momento dell'apertura non sapevo che fossero correlati :berto: