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

    Avviare localhost non dal command prompt

    Sto leggendo un libro su hibernate incentrato su un progetto java che fa uso di un database. Al fine di avviare il server, nel libro c'è scritto di aprire il prompt dei comandi, piazzarsi nella cartella del progetto java e scrivere $ java -classpath lib/hsqldb.jar org.hsqldb.Server

    A parte che per me è arabo, cioè, che simboleggia il dollaro? e il trattino prima di classpath? Per il resto dovrebbe essere semplicemente il percorso alla classe che gestisce il server.
    Ma non c'è un modo per lanciare la stessa classe senza passare per il prompt dei comandi?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Java ha una sezione dedicata, dove sposterò la discussione.

    Se dici che per te quella roba è arabo, mi domando come farai a programmare, visto che si dà per scontato che un programmatore sappia usare un PC con un livello di competenze leggermente superiore a quello di un utente medio... in particolare, sappia come si scrivono i comandi basilari del sistema operativo nel prompt dei comandi e che sappia che cosa sono (e come si scrivono) le "opzioni" di un comando (quel trattino, appunto). Il dollaro è la convenzione "linux/unix" con cui si identifica il prompt dei comandi. Sta solo ad indicare l'inizio della riga di comando (quello che in Windows si identifica con ">", ad esempio in "C:\>").


    Sposto la discussione.


    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 2002
    Messaggi
    412
    Grazie
    In windows non lo riconosce il dollaro e ho dovuto eliminarlo per fargli accettare la riga di comando, quindi è solo per linux/unix.
    -classpath che "opzione" sta a significare? A me pare semplicemente che gli indica il percorso della classe
    Poi cosa sta ad indicare la nomenclatura "java" dopo il dollaro?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    RTFM Read That F*** Manual!!!

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Quote Originariamente inviata da American Visualizza il messaggio
    Grazie
    In windows non lo riconosce il dollaro e ho dovuto eliminarlo per fargli accettare la riga di comando, quindi è solo per linux/unix.
    Ed è quello che ho detto. Il dollaro è il simbolo della console di Linux/Unix, su Windows il simbolo è il ">"... mica li devi scrivere: te li propone già Windows. E' un "segnaposto" per indicare l'inizio della riga di comando.

    codice:
    // Su Linux/Unix
    $ java -classpath lib/hsqldb.jar org.hsqldb.Server
    
    // Su Windows
    C:\> java -classpath lib/hsqldb.jar org.hsqldb.Server

    Tu di sicuro non vai a scrivere "C:\>"... te lo propone già il prompt... lo stesso vale per il dollaro.


    -classpath che "opzione" sta a significare? A me pare semplicemente che gli indica il percorso della classe
    E' un'opzione del comando "java" che serve ad impostargli il valore del CLASSPATH. In CLASSPATH ci vanno un'elenco di directory e/o di file JAR. La JVM cercherà all'interno di questo elenco le classi da caricare. Quindi, quello che gli passi non è il percorso della classe, ma il percorso del file JAR che contiene le classi che la JVM caricherà per far funzionare l'applicazione.


    Poi cosa sta ad indicare la nomenclatura "java" dopo il dollaro?

    E' il nome del comando... dell'eseguibile. Nella tua macchina c'è sicuramente installata la JVM. Dentro la directory di installazione della JVM c'è una cartella chiamata "bin". Dentro quella cartella c'è l'eseguibile "java.exe" (che fa partire la JVM). In Windows, l'estensione dei file eseguibili può essere tranquillamente omessa, si arrangia il sistema operativo a ricercare l'eseguibile, sapendo che le 3 estensioni che denotano un eseguibile sono ".exe", ".com" e ".bat" (tralascio il discorso sui comandi interni).

    Ma, ripeto, queste cose un programmatore deve saperle... sono alla base del funzionamento di un PC Windows. Sono cose che un qualunque utente deve sapere. Deve sapere cos'è un file, cos'è una directory, cos'è un file eseguibile... a maggior ragione un programmatore che dovrebbe scrivere i programmi per gli utenti.


    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    eh si lo so, ma purtroppo non si è mai presentata la necessità di avviare il localhost tramite prompt.. Di solito utilizzo xampp (credo che alla fine facciano la stessa cosa).

    E' il nome del comando... dell'eseguibile. Nella tua macchina c'è sicuramente installata la JVM. Dentro la directory di installazione della JVM c'è una cartella chiamata "bin". Dentro quella cartella c'è l'eseguibile "java.exe" (che fa partire la JVM).
    Si ma da quel che so per lanciare un eseguibile devi quantomeno trovarti nella cartella in cui esso è contenuto, invece io mi trovo in
    D:\Luca\Programmi\Eclipse\progetti\hibernate helloworld book

    Scrivendo java all'inizio del comando, come fa windows a sapere in che directory precisa si trova la VM (forse ha a che fare con le variabili d'ambiente?) ?

    Infine vorrei capire se c'è un modo per rendere tutta l'operazione più veloce, perchè attualmente aperto il prompt dei comandi devo prima manualmente scrivere
    cd percorso del mio progetto
    e poi dargli la riga di comando java -classpath lib/hsqldb.jar org.hsqldb.Server

    sopratutto il percorso del progetto è un casino scriverlo manualmente ogni volta perchè si trova abbastanza annidato in sottocartelle

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Quote Originariamente inviata da American Visualizza il messaggio
    Si ma da quel che so per lanciare un eseguibile devi quantomeno trovarti nella cartella in cui esso è contenuto, invece io mi trovo in
    D:\Luca\Programmi\Eclipse\progetti\hibernate helloworld book

    Scrivendo java all'inizio del comando, come fa windows a sapere in che directory precisa si trova la VM (forse ha a che fare con le variabili d'ambiente?) ?

    Sì, esattamente la variabile d'ambiente PATH (che contiene un elenco di percorsi in cui il sistema operativo ricerca gli eseguibili).


    Infine vorrei capire se c'è un modo per rendere tutta l'operazione più veloce, perchè attualmente aperto il prompt dei comandi devo prima manualmente scrivere
    cd percorso del mio progetto
    e poi dargli la riga di comando java -classpath lib/hsqldb.jar org.hsqldb.Server

    sopratutto il percorso del progetto è un casino scriverlo manualmente ogni volta perchè si trova abbastanza annidato in sottocartelle

    Scrivi un banalissimo file BATCH (un file di testo con estensione .BAT): dentro al file ci scrivi esattamente tutti i comandi (uno sotto l'altro) che eseguiresti tu manualmente dal prompt.


    codice:
    CD percorso del progetto
    java -classpath lib/hsqldb.jar org.hsqldb.Server

    Ti basterà fare doppio clic sul file batch affinchè vengano eseguiti tutti i comandi in esso contenuti.


    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

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Perfetto 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.