Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Sep 2012
    Messaggi
    465

    Avviare un programma .sh che richiama un software java da console

    Ho creato un programma privo di interfaccia grafica che si avvia solo nella konsole in java. Su windows ho risolto il problema dell'avvio automatico usando un file .bat mentre su linux ho creato un .sh con questo codice:
    java -jar nomeFile.jar
    pause
    che però non funziona. Sapreste consigliarmi una soluzione?
    Grazie

  2. #2
    Potresti compilare il sorgente e poi eseguirlo:

    $ javac nomeFile.java
    $ java nomeFile

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Avviare un programma .sh che richiama un software java da console

    Originariamente inviato da peruzzo
    java -jar nomeFile.jar
    pause
    che però non funziona. Sapreste consigliarmi una soluzione?
    Grazie
    Per la milionesima volta: "non funziona" non vuol dire nulla.

    Hai installato Java?
    "java" è un comando riconosciuto?
    Il jar è nel classpath?
    "pause" è un comando della bash valido? (su questo ho qualche dubbio)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente bannato
    Registrato dal
    Sep 2012
    Messaggi
    465
    Eclipse è installato e funziona quindi la JVM è certamente installata. Il messaggio che ottengo sulla konsole è il seguente:

    peruzzo@peruzzo-System-Product-Name:~$

    Il .jar deve essere compilato sulla distribuzione di Linux che sto usando?

  5. #5
    Originariamente inviato da peruzzo
    peruzzo@peruzzo-System-Product-Name:~$
    Questo non è un messaggio di errore, è il normale prompt di bash...
    Se provi ad eseguire lo script dalla console che errori ottieni? Nel .sh hai inserito lo shebang all'inizio dello script? Hai marcato il file come eseguibile? Se esegui
    codice:
    java -jar nomeFile.jar
    manualmente, il programma funziona?

    Confermo comunque che pause non è un comando interno di bash né è un comando esterno normalmente presente su macchine Linux.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    147
    codice:
    #!/bin/sh 
    java -jar nomeFile.jar
    Come già detto, pause è una routine di windows e java deve essere nel path.
    Poi assegna i permessi di esecuzione al .sh e dalla shell lo lanci con ./file.sh

    Originariamente inviato da peruzzo
    Il .jar deve essere compilato sulla distribuzione di Linux che sto usando?
    Scusa se mi permetto, ma lo dico per te... Se hai questo tipo di dubbi mi sa che ti mancano un po' di fondamentali...

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.