Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132

    applicazione java non parte

    Ciao a tutti, ho un applicazione scritta in java, che ho distribuito ad un certo numero di utenti.
    Funziona su tutti tranne uno. L'applicazione è ormai testata, ha un exe che punta al jar, e non ha mai dato problemi di questo tipo. Nella macchina dell'utente in questione (xp) si blocca sulla schermata "splash" dell'exe. Ovviamente ho controllato che ci fosse la JRE installata. Prima di recarmi sul posto vorrei conoscere tutte le possibili cause del problema, ed onestamente non me ne viene in mente una.
    Qualche suggerimento ?
    Grazie.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,317
    Unico suggerimento: avviala dal prompt dei comandi (senza passare dall'exe) e osserva i messaggi di errore/eccezioni che vengono generati/sollevate.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    l'ho fatto partire da prompt su una delle macchine dove l'exe funziona.
    Non si apre e mi da l'errore :

    GRAVE: null
    java.io.FileNotFoundException: dati\opzioni.dat
    (Impossibile trovare il percorso specificato)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileReader.<init>(Unknown Source)
    .....

    uso un relative path :

    --- livello 0 ---
    exe
    cartella sys
    --- livello 1 --- (cartella sys)
    cartella dist (contiene il jar)
    cartella dati (contiene il dat che non riesce a trovare nell'errore sopra)

    Se però faccio partire de exe trova tutto ! ?

    Qualche idea ?

    Grazie.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,317
    L'hai scritta tu l'applicazione?
    Hai il sorgente?
    L'EXE come è stato costruito?
    Cosa fa?

    L'applicazione, lanciata da prompt dei comandi, non parte e dà quell'errore... evidentemente cerca di aprire/creare un file e non ci riesce... i motivi sono molteplici.

    Sei sicuro che l'EXE avvii esattamente quell'applicazione? Io ho i mei dibbi... se lo fa, significa che prima di avviarla fa anche qualcos'altro...

    Direi che è difficilino aiutarti senza avere una sfera di cristallo...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    Grazie per l'interessamento, provo ad essere più chiaro.

    L'applicazione l'ho scritta io con NetBeans. L'eseguibile l'ho creato con "launch4j" e lo faccio puntare nella relative path sopra descritta al jar.
    Se faccio partire l'exe da console, funziona perfettamente senza dare errori.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    Ho fatto un po' di prove, secondo il filepath sopra descritto, per far funzionare il prog. da jar, devo inserire "../" nel ercorso, cioè farlo uscire dalla cartella "dist". Ma così va in errore l'exe, che ovviamente non trova più le cartelle.
    Non capisco bene : io credevo che l'exe non facesse altro che attivare il jar, e quindi il file path partisse dalla cartella del jar, pare di no.
    Rimane però il problema del perchè la macchina del post 1 non funzioni con l'eseguibile e tutte le altre si?

    Qualche suggerimento ?

    Grazie.

  7. #7
    posti il codice con il quale carichi i dati?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    132
    Certo, ma non penso sia li il problema, il codice di caricamento del dat funziona bene ovunque.Non so quale sia il problema sulla macchina in questione. Ho pensato anche ad un blocco di windows nei confronti dell'exe o di java, o a qualche stuppidaggine che l'operatore locale non vede ma non so. Sicuramente devo chiedere più spiegazioni, volevo solo farmi un'idea delle possibili casistiche che potrei incontrare. Io pensavo che un applicazione testata su di un po' di macchine dovesse funzionare su tutte, unica discriminante l'installazione della JVM.


    codice:
    public String[][] apriDAT2d(String filename, String[][] array,int colonne){
                    
                FileReader fileReader = null;
            try {
                fileReader = new FileReader(filename);
                BufferedReader fileBufereReader = new BufferedReader(fileReader );
                ArrayList<String> blah = new ArrayList<String>();
                String s = fileBufereReader .readLine();
                
                while(s!=null){
                blah.add(s);
                s = fileBufereReader .readLine();
                }
                String [] arrayDiStringhe1 = blah .toArray(new String[0]);
                
                String[] arrayDiStringhe3 = arrayDiStringhe1[0].split("&");
                
                int cont =0;
                boolean intString=false;
                for(int i1 = 0; i1 <array.length ; i1++) {
                for (int a1 = 0; a1 <colonne ; a1++) {
                            if (cont==arrayDiStringhe3.length) {
                            i1 =array.length;
                            a1 =colonne;
                            break;            
            array[i1][a1]=arrayDiStringhe3[cont];
            cont=cont+1;
            }}  
        
            } catch (IOException ex) {            
                Logger.getLogger(PROGView.class.getName()).log(Level.SEVERE, null, ex);
            } 
            finally {
                try {
                    fileReader.close();
                } catch (IOException ex) {                
                    Logger.getLogger(PROGView.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            return array ;
                }
    Grazie.

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.