Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    50

    Jar che carica file esterno e strano comportamento in linux

    Salve a tutti!

    Devo consegnare un progetto per l'uni, il programma deve leggere un file impostazioni.xml situato nella cartella /setup, quindi esternamente al jar.

    Per evitare problemi ho inserito il path assoluto:
    codice:
    private final static String FILE_SETUP = File.separator+"setup"+File.separator+"impostazioni.xml";
    //rappresenta il path assoluto in cui si trova il file jar
    private static String pathAssoluto = new File("").getAbsolutePath();
    
    //leggo il file xml
    SAXBuilder builder = new SAXBuilder();
    Document document = builder.build(pathAssoluto+FILE_SETUP);
    Allora, se il progetto sta su una cartella del desktop, quindi il path assoluto
    è : /home/enzima/Scrivania/Progetto , mentre quello relativo del file di config è : setup/impostazioni.xml, manca un / prima di setup che ho aggiunto con File.separator.

    schema:
    /home/enzima/Scrivania/Progetto - path assoluto dove c'è il jar
    |
    |---setup/impostazioni.xml - path relativo

    path completo : /home/enzima/Scrivania/Progetto/setup/impostazioni.xml

    Ok quindi in teoria il path completo per aprire il file dovrebbe essere giusto vero? Invece noooooo!!!

    se lo avvio da nautilus, mi cattura l'eccezione e mi dice che non trova : /home/enzima/setup/impostazioni.xml. Cioè vuole che la cartella setup e il file impostazioni.xml siano necessariamente nella home!!! :berto: come mai?!?

    invece da console dando un semplice java -jar progetto.jar funziona!!! VVoVe:

    da windowz per partire basta un semplice doppioclick

    esiste una spiegazione a tutto ciò?!?!?!?

  2. #2
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    private static String pathAssoluto = new File("").getAbsolutePath();
    con questa istruzione nn ottieni il path assuluto del tuo programma ma ottieni quella in cui stai "lavorando" /home/enzima/
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    50
    ho provato anche con getCanonicalPath ma nulla! stesso risultato! mah...:master: cmq l'importante che da linea di comando parte

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.