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:
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);
        
    }
}
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!

Grazie in anticipo!