Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    creare eseguibile jar che usa altri jar

    Salve a tutti.
    So che un problema simile è già stato affrontato ma provo a fare le stesse operazioni e non funziona.

    Ho realizzato un progetto costituito da diversi package, uno dei quali contiene la classe main. Per funzionare questo progetto necessita di 4 jar.
    Ho provato a creare il jar inserendo nel manifesto il classpath dei jar esterni ma così facendo non trova la classe main, che però è settata, e ho provato anche a non mettere il classpath e così trova il main ma non le librerie...

    Qualcuno può aiutarmi? Per favore mi direste anche in che cartella mettere i jar e simili?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Scompatta tutti i 4 JAR di cui la tua applicazione ha bisogno, mantenendo la struttura di ciascuno di essi (con WinRAR, ad esempio, apri il Jar e trascina fuori il contenuto, portandolo nella cartella dove c'è la tua applicazione).

    Quindi crea il JAR della tua applicazione. Fine.


    Per far sì che la tua applicazione parta correttamente devi tenere presente che le clausole package dichiarate all'inizio delle classi giocano un ruolo importante.

    Se la tua classe comincia con la clausola package mioPackage allora essa dovrà essere messa all'interno di una cartella che si chiama mioPackage.


    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
    Ho provato a scopattare i jar che uso come mi hai detto.
    Adesso ho una cartella chiamata progetto in cui ho le sottocartelle
    org
    gui
    converter
    controller
    ....

    e il file jar.

    La classe main è gui.EditorWindow.
    Lancio il jar e mi dà errore: java.lang.NoClassDefFoundError: org/jdom/Element.

    Ma dentro la cartella org c'è la cartella jdom con all'interno Element.class

    Perchè non la vede?

    La cosa bella è che se faccio andare il progetto con la cartella org da eclipse senza importare i relativi jar funziona, quindi vuol dire che da eclipse entra nella cartella jdom e trova Element....

    ciao e grazie...

  4. #4
    Raggruppa tutti i tuoi file jar (escluso quello col main) sotto una unica cartella chiamata "lib", dopodichè modifica il MANIFEST.MF aggiungendo la riga:

    Class-Path: lib/file1.jar lib/file2.jar [ecc.. per ogni jar esterno da includere]


    Il jar con la classe main e la cartella lib devono trovarsi nella stessa cartella per poter funzionare.


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.