|
|
|
![]() |
|
Strumenti |
![]() |
#21 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Non c'è problema!
Allora, anzichè infilarci nel setting delle variabili d'ambiente del sistema operativo facciamo così: apri il prompt dei comandi, vai in c:\ e scrivi set path=C:\j2sdk1.4.1_01\bin\ [invio] poi vai col comando jar mcf c:\jchat\client\Manifest.mf PROVA.jar jchat/ [invio] cosa succede? |
![]() |
![]() |
![]() |
#22 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
ti premetto che ho XP professional
nel prompt ho scritto: C:\>set path=C:\j2sdk1.4.1_01\bin\ C:\> tutto ok, quindi C:\>jar mcf c:\jchat\client\Manifest.mf PROVA.jar jchat/ Can't determine application home C:\> ho provato a scrivere jar C:\>jar Can't determine application home C:\> ed ecco il risultato PS: ho scritto un semplice helloword ponendolo in c quindi, sempre in c, ho scritto il metafile Main-Class: helloword e infine: C:\j2sdk1.4.1_01\bin>jar mcf c:\Manifest.mf c:\PROVA.jar c:\helloword.class C:\j2sdk1.4.1_01\bin> e l'errore persiste anche in questa semplice prova |
![]() |
![]() |
![]() |
#23 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
ho winxp pro anch'io, questo potrebbe aiutare
Prendiamola da un altra parte
![]() Modifichiamo la variabile path per includere jar.exe nei programmi di default (l'ho fatto anch'io nel mio s.o., vai tranquillo). apri start->pannello di controllo->sistema, scheda "avanzate", bottone "variabili d'ambiente", evidenzia la variabile "path" (non pathext) e clicca su "modifica"; nella casella di testo trovi qualcosa di simile a "%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Programmi\ATI Technologies\ATI Control Panel" in fondo aggiungi un punto e virgola (se manca) e scrivi il percorso in cui si trova jar.exe, alla fine avrai una cosa così (posto la variabile path del mio sistema): %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Programmi\ATI Technologies\ATI Control Panel;C:\Program Files\s1studio_jdk\j2sdk1.4.1\bin; premi ok e riavvia il sistema. Una volta riavviato apri il prompt dei comandi, vai in c:\ e digita "jar", a questo punto parte l'elenco dei comandi disponibili per il programma jar. tutto ok? |
![]() |
![]() |
![]() |
#24 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
scusa per il ritardo con cui ti rispondo ma non sono stato in sede.
Comunque quello che mi hai detto di fare era già stato fatto in passato. Tutte le istruzioni (java, javaw, serialver..etc) funzionano se le chiamo da c: o da altrove; purtroppo,il comando jar invece non parte e mi da un errore ![]() |
![]() |
![]() |
![]() |
#25 |
Bannato
Iscritto dal: Nov 2001
Città: Verona
Messaggi: 1086
|
Pardon per le informazioni superflue
![]() Allora sposterei tutta la cartella "jchat" e il file manifest.mf in "c:\j2sdk1.4.1_01\bin" in modo da avere una cartella c:\j2sdk1.4.1_01\bin\jchat\... e un file c:\j2sdk1.4.1_01\bin\Manifest.mf e da "c:\j2sdk1.4.1_01\bin" lancerei jar mcf Manifest.mf prova.jar jchat/ |
![]() |
![]() |
![]() |
#26 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Scusa per il ritardo ma sono stato fuori sede e sono tornato oggi.
Domani farò quello che hai detto e ti farò sapere grazie |
![]() |
![]() |
![]() |
#27 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
FUNZIONA!!!!!!!!!!!!!!!....quasi!!!
il file prova.jar, una volta cliccato, viene eseguito ma non vengono caricate le immagini!! Nella cartella jchat\client si trova la cartella immagini dove ci sono le immagini utilizzate nell'applicazione.Esse non vengono caricate ( al loro posto,nell'interfaccia grafica, non c'è nulla) Il caricamento delle immagini è così definito: [nella Gui] .... private final byte preseconnesse=0,presesconnesse=1,duecomputer=2,.... ..... private final Image[] immagine =new Image[14];.... .... private MediaTracker tracker; ... [nel costruttore della Gui:] ........ tracker=new MediaTracker(this); ........ Toolkit toolkit=Toolkit.getDefaultToolkit(); .......... String path="immagini/"; String pathicone="icone/"; immagine[preseconnesse]=(toolkit.getImag(path+"preseconnesse.gif")); tracker.addImage(immagine[preseconnesse],preseconnesse); immagine[presesconnesse]=(toolkit.getImage(path+"presesconnesse.gif")); tracker.addImage(immagine[presesconnesse],presesconnesse); ..... ..... System.out.println("Attendere: caricamento immagini in corso..."); try{ tracker.waitForAll(); }catch(InterruptedException e){} System.out.println("caricamento avvenuto!"); ........ perchè le immagini non vengono caricate!! P.S:nel file Prova.jar esse sono presenti!!! |
![]() |
![]() |
![]() |
#28 |
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
Quando carichi qualcosa dentro ad un jar la procedura è leggermente diversa...
Codice:
ImageIcon worldIcon = new ImageIcon( cl.getResource( "vamp/tutorial/images/world2.gif" ) ); |
![]() |
![]() |
![]() |
#29 | |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Quote:
e come si costruisce!!! |
|
![]() |
![]() |
![]() |
#30 |
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
Il class loader è il componente che si occupa di caricare le classi
![]() E' possibile recuperare il ClassLoader tramite una classe... Se ad esempio nella tua applicazione esiste la classe Client allora: ClassLoader cl=Client.class.getClassLoader(); |
![]() |
![]() |
![]() |
#31 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Ho eseguito le modifiche e tutto funziona!
Purtroppo però, dopo aver creato il file jar e dopo averlo clikkato esso non parte e non mi viene restituito alcun errore!!! cosa devo fare!!!! |
![]() |
![]() |
![]() |
#32 |
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
Ma hai dei problemi a livello di jar (cosa che ipotizzo) o di programma?
Prova a fare un po' di debug per vedere se riusce ad entrare da nel main (cioé se il jar viene effettivamente eseguito...) |
![]() |
![]() |
![]() |
#33 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
l'applicazione funziona correttamente se fatta partire in modo normale (java ..... oppure Ctrl3 in TextPad) e l'esecuzione del comando jar avviene perfettamente senza errori. Il problema si verifica quando clicco sul file .jar restituitomi dal comando jar.Quando clicco tale file l'applicazione non parte!! boh
|
![]() |
![]() |
![]() |
#34 |
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
Ti dicevo prova a mettere una stampa su console nel main, tipo:
System.out.println("Funziona!!!"); e poi fai partire il jar da una console dos per vedere se riesce a trovare il main... altrimenti ti darà errore... |
![]() |
![]() |
![]() |
#35 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
per fare fare partite il file jchat.jar da console ho scritto:
C:\j2sdk1.4.1_01\bin>javaw jchat.jar (jchat.jar si trova in questa cartella) e mi viene segnalato il seguente errore: Could not find the main class. Programm will exit! lo stesso avviene se faccio partire, sempre da Console, il file prova.jar . Questo file,se cliccato, funziona ma senza immagini (è il primo file jar costruito senza il classLoader) |
![]() |
![]() |
![]() |
#36 |
Senior Member
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
|
passo... non saprei dirti... con i jar non ho mai avuto un ottimo rapporto...
Hai provato da console java -jar <nomefile.jar>.... ma non penso cambi molto... |
![]() |
![]() |
![]() |
#37 | |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Quote:
ok ti ringrazio molto lo stesso!!! |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:24.