Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Ho utilizzato Install Creator, ma non so se dipenda da questo, poichè come ho detto anche facendo doppiclick sul jar del progetto mi da lo stesso problema...o no?
Per esempio nel codice ho:
all'interno di un ActionPerformed di un JButton e dovrebbe popolarmi la JComboBox con i nomi di tutte le città contenuta in "dirIniziale\\Africa-Asia" ma al di fuori di netbeans..non lo fa!codice:... File dir = new File("dirIniziale\\Africa-Asia"); DefaultComboBoxModel modello = new DefaultComboBoxModel(); for (File f : dir.listFiles()) { modello.addElement(new FileItem(f)); } menuCitta.setModel(modello); ...
Ultima modifica di roquentin; 20-04-2015 a 17:35
Su Windows, se apri le "proprietà" di un qualunque "collegamento" (che puoi trovare es. su desktop o in start/programmi), ci trovi un campo "Da". Quella è la directory che sarà "corrente" quando la destinazione (in questo caso un .exe) verrà aperta tramite il collegamento.
Il tool che hai citato, è in grado di poter fare una logica del tipo: "quando durante il setup l'utente specifica una directory di installazione X, quando poi crei le icone/collegamenti metti la specifica della directory a X"
??
Io non lo so ...... (non lo conosco quel tool)
P.S. Verifica ma se non sbaglio se quel "Da" è vuoto la directory corrente è quella dove c'è il collegamento. E potrebbe essere questo che ora non ti permette di lanciare correttamente.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Il collegamento che crea sul desktop la procedura di installazione punta al jar nella cartella dove va a mettere tutto il contenuto della cartela del progetto, quindi
Destinazione:
Da:codice:"C:\Program Files\PVE\dist\PVE.jar"
Sembra tutto ok no?codice:"C:\Program Files\PVE\dist"
Ultima modifica di roquentin; 20-04-2015 a 17:56 Motivo: quote]
Allora, ho fatto un piccola prova:
La cartella dove la procedura di installazione inserisce tutto quanto la considerò con questo percorso:
In questa cartella c'è tutto il software, quindi ho le seguenti cartelle:codice:"C:\Program Files\PVE"
build
dirIniziale (questa è la directory che contiene sottocartelle che a loro volta contengono i file .txt)
jexcelapi
lib
mapsengine
nbproject
src
poi i sono i seguenti file:
build
manifest.mf
uninstall
A questo punto dato che la directory corrente è questa (dal link che mi crea sul desktop):
Da:
Ho fatto copia ed incolla di dirIniziale, inserendola anche nella directory corrente "dist".codice:"C:\Program Files\PVE\dist"
A questo punto, SI, mi vede tutte le cartelle ed i file.
Ma a questo punto devo considerare un pathname diverso da questo:
nel codice ?codice:File dir = new File("dirIniziale\\Africa-Asia");
Sì, come directory è ok ma ..... innanzitutto la destinazione è un .jar ... non un .exe. Cosa vuol dire? Le implicazioni che mi vengono in mente sono:
- Ci deve essere un JRE già installato (non so se lo verifica/installa l'installer che hai creato).
- Bisogna vedere quale è la associazione per l'estensione .jar. Di default un JRE installato "fresco" fa lanciare (su Windows) javaw.exe che è il launcher senza la console.
- Se qualcuno successivamente cambia l'associazione (es. associa .jar a WinZip), la tua applicazione non parte più, ovviamente.
P.S.
build
dirIniziale (questa è la directory che contiene sottocartelle che a loro volta contengono i file .txt)
jexcelapi
lib
mapsengine
nbproject
src
poi i sono i seguenti file:
build
manifest.mf
uninstall
tutta 'sta roba? Ma scherzi? Perché devi rilasciare files di progetto e quant'altro?
Poi mi pare di capire che usi librerie esterne ..... e quindi l'attributo Class-Path nel manifest del tuo jar è corretto?
Ultima modifica di andbin; 20-04-2015 a 18:18
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Ciao andbin, devo prima risolvere il problema del percorso dato che o fle jar o file .exe avrò comunque lo stesso problema.
(Alla fine posso creare un file exe del progetto ed effettuare il collegamento all'exe piuttosto che al jar)
Non ho capito però come risolvere il problema del riferimento alla directory "dirIniziale" poichè se questa:
è la directory corrente, io ho fatto una prova spostando la directory "dirIniziale" all'interno di "dist" e riuscivo a vedere tutti le cartelle ed i file.codice:"C:\Program Files\PVE\dist"
Se io considero quello che ho ora, la directory è
considerandocodice:"C:\Program Files\PVE"
se invece vado a considerare come directory corrente "dist" devo cambiare i riferimenti a dirIniziale nel codice del progetto giusto?codice:File dir = new File("dirIniziale\\Africa-Asia");