Perdonate il titolo vago, ma non so come ben definire il problema... praticamente stavo cercando su internet come arrivare al percorso di un'applicazione in un eseguibile jar, e l'ho trovato.
Ho provato a eseguirlo per verificarne il funzionamento in una classe apposita e, finchè sono rimasto all'interno di eclipse, il codice funziona, mentre all'esterno no.
L'eccezione generata è a livello del classloader e il codice è questo:
Sapreste dirmi se ho sbagliato qualcosa? C'è qualcosa di cui non ho tenuto conto? Perchè mi sembra assurdo che da IDE funzioni e all'esterno invece no!codice:package test_esempi; import java.io.File; import java.io.UnsupportedEncodingException; import java.net.*; import javax.swing.*; public class Main { /** * @param args */ public static void main(String[] args) { URL url = Main.class.getProtectionDomain().getCodeSource().getLocation(); String jarPath = null; try { jarPath = URLDecoder.decode(url.getFile(), "UTF-8"); } catch(UnsupportedEncodingException e) { e.printStackTrace(); } String parentPath = new File(jarPath).getParentFile().getPath(); parentPath = parentPath + File.separator; JOptionPane.showMessageDialog(null, "Percorso corrente: " + parentPath); } }
Grazie in anticipo!![]()

Rispondi quotando
