Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di natasha
    Registrato dal
    Sep 2000
    Messaggi
    1,307

    Eseguire un JAR con java -jar utilizzando librerie esterne

    Buonasera a tutti,
    devo eseguire, da linea di comando, un jar "topolino.jar" che usa librerie esterne, tutte contenute nella cartella "c:\pippo".
    Qual è la sintassi del comando java -jar da usare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ci sono diversi modi per rispondere alla stessa domanda:

    1. aprire una shell e digitare

    codice:
    java -help
    il cui risultato è simile a questo

    codice:
    java -help 
    Usage: java [-options] class [args...]
               (to execute a class)
       or  java [-options] -jar jarfile [args...]
               (to execute a jar file)
    
    where options include:
        -d32          use a 32-bit data model if available
    
        -d64          use a 64-bit data model if available
        -client	  to select the "client" VM
        -server	  to select the "server" VM
        -hotspot	  is a synonym for the "client" VM  [deprecated]
                      The default VM is server, 
                      because you are running on a server-class machine.
    
        -cp <class search path of directories and zip/jar files>
        -classpath <class search path of directories and zip/jar files>
                      A : separated list of directories, JAR archives,
                      and ZIP archives to search for class files.
        -D<name>=<value>
                      set a system property
        -verbose[:class|gc|jni]
                      enable verbose output
        -version      print product version and exit
        -version:<value>
                      require the specified version to run
        -showversion  print product version and continue
        -jre-restrict-search | -jre-no-restrict-search
                      include/exclude user private JREs in the version search
        -? -help      print this help message
        -X            print help on non-standard options
        -ea[:<packagename>...|:<classname>]
        -enableassertions[:<packagename>...|:<classname>]
                      enable assertions
        -da[:<packagename>...|:<classname>]
        -disableassertions[:<packagename>...|:<classname>]
                      disable assertions
        -esa | -enablesystemassertions
                      enable system assertions
        -dsa | -disablesystemassertions
                      disable system assertions
        -agentlib:<libname>[=<options>]
                      load native agent library <libname>, e.g. -agentlib:hprof
                        see also, -agentlib:jdwp=help and -agentlib:hprof=help
        -agentpath:<pathname>[=<options>]
                      load native agent library by full pathname
        -javaagent:<jarpath>[=<options>]
                      load Java programming language agent, see java.lang.instrument
    e ricorda che al classpath normale devi aggiungere il tuo classpath (la tua cartella).

    2. consultare la documentazione ufficiale oracle
    o un qualsiasi testo.

    3. ricerca su google con "jar execute"

    Per i concetti di path e classpath puoi rifarti alla documentazione ufficiale o a qualsiasi testo, ma devi averli chiari (onde evitare problemi)
    Ti dico questo perché guardare l'help o la documentazione ufficiale è alla base di qualsiasi programma/strumento tu usi, se il problema è l'inglese non possiamo farci niente, l'inglese è la lingua ufficiale dell'informatica
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Eseguire un JAR con java -jar utilizzando librerie esterne

    Originariamente inviato da natasha
    devo eseguire, da linea di comando, un jar "topolino.jar" che usa librerie esterne, tutte contenute nella cartella "c:\pippo".
    Qual è la sintassi del comando java -jar da usare?
    Quando si usa l'opzione -jar nomejar la variabile di ambiente CLASSPATH viene ignorata e pure una eventuale opzione -classpath/-cp viene ignorata.

    Un jar avviato così può ricercare classi solo:
    - nelle classi di "boostrap" (quelle standard del runtime)
    - nelle classi di "extension" (tramite il meccanismo di extension, in pratica i jar che trova nella lib/ext del JRE)
    - nel jar stesso avviato
    - tramite l'attributo Class-Path del "manifest" del jar avviato
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157

    Re: Re: Eseguire un JAR con java -jar utilizzando librerie esterne

    Originariamente inviato da andbin
    Quando si usa l'opzione -jar nomejar la variabile di ambiente CLASSPATH viene ignorata e pure una eventuale opzione -classpath/-cp viene ignorata.

    Un jar avviato così può ricercare classi solo:
    - nelle classi di "boostrap" (quelle standard del runtime)
    - nelle classi di "extension" (tramite il meccanismo di extension, in pratica i jar che trova nella lib/ext del JRE)
    - nel jar stesso avviato
    - tramite l'attributo Class-Path del "manifest" del jar avviato
    si infatti quando ho necessità di specificare il classpath uso
    codice:
    java -cp classpathdir complete.path.to.my.class.main.Main argumentList
    non esula da dover guardare help e/o doc

    ps e non so nemmeno come è fatto il jar, in generale questo funziona
    RTFM Read That F*** Manual!!!

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.