Visualizzazione dei risultati da 1 a 4 su 4

Discussione: dipendenze jar

  1. #1

    dipendenze jar

    Ho esportato la prima bozza di un programma da eclipse in un file jar. Questo programma utilizza i servizi di un altro jar per interfacciarsi con un db. Il problema è che il mio jar, una volta eseguito, non riesce a trovare le classi dell'altro jar.
    La libreria in questione l'ho aggiunta al progetto di eclipse usando "add external jar" e fino a che eseguo da dentro l'ambiente, va tutto bene. Eseguendo il jar ottengo una bella

    codice:
    java.lang.ClassNotFoundException: org.h2.Driver
            at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:164)
            at stores.Database.getConnection(Database.java:28)
            at executors.Main.generaSitIniz(Main.java:42)
            at executors.Main.main(Main.java:26)
    Per la cronaca il codice che fallisce è questo:
    codice:
    Class.forName("org.h2.Driver");
    Ho provato ad eseguire con java -jar mio.jar -classpath h2.jar ma non cambia nulla.
    Qualcuno saprebbe darmi una mano per favore? Sto diventandoci pazzo.
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

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

    Re: dipendenze jar

    Originariamente inviato da GreyFox86
    Ho provato ad eseguire con java -jar mio.jar -classpath h2.jar ma non cambia nulla.
    Sì, perché usando -jar il -classpath è ignorato. Con -jar il "classpath" e composto solo dal file jar indicato e da eventuali altri jar specificati nel 'manifest' del jar.

    Quindi: hai impostato l'attributo Class-Path nel manifest del tuo jar? Deduco di no.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie
    Deduci bene. C'è un modo di farlo scrivere da eclipse o devo farlo a mano?
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da GreyFox86
    C'è un modo di farlo scrivere da eclipse
    C'è sicuramente ma Eclipse non lo conosco e non lo uso (è il modo migliore per fare ciò che voglio io e non ciò che vuole lui ).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.