2009-09-29 29 views

Odpowiedz

5

Można to zrobić łatwo z Ant:

<jar jarfile="MyJar.jar" basedir="bin"> 
    <manifest> 
    <attribute name="Class-Path" value="lib/lib1.jar lib/lib2.jar lib/lib3.jar"/> 
    <attribute name="Built-By" value="me"/> 
    <attribute name="Main-Class" value="mypackage.Myclass"/> 
    </manifest> 
</jar> 

To doda wszystkie odpowiednie wpisy w pliku manifestu. Aby móc uruchomić słoika, trzeba także utworzyć lib folder i umieścić wszystkie słoiki z zależnościami tam:

myjar.jar 
lib/lib1.jar 
lib/lib2.jar 
lib/lib3.jar 
+0

Wydaje się, że kolejność atrybutów ma znaczenie. Ścieżka klasy musi pojawić się przed Klasą Główną. – dacracot

0

przyjrzeć przy użyciu narzędzia do pakowania takie jak IzPack lub narzędzia otoki takich jak JSmooth

1

Trzeba dodać plik MANIFEST.MF do JAR do aplikacji, (w katalogu META-INF - jeśli użyjesz narzędzia wiersza poleceń "jar", upewnisz się, że plik kończy się we właściwym miejscu). będzie musiała zawierać dwa atrybuty (co najmniej):

  • Main-Class: [pełna nazwa klasy w swojej aplikacji, która ma główną metodę]
  • Class-Path: [wykaz zależności JAR dla aplikacji]

Więcej szczegółów na temat oczywistych plików w plikach JAR można znaleźć tutaj: http://java.sun.com/docs/books/tutorial/deployment/jar/manifestindex.html

Jeśli używasz narzędzia kompilacji jak Apache Maven może się okazać, że jest w stanie wygenerować ten dla Ciebie.

2

Używaj eclipse plugin o nazwie "fatjar"

to update-site

http://kurucz-grafika.de/fatjar

Wystarczy kliknąć prawym przyciskiem myszy na projekcie i użyć opcji fatjar, następny krok pozwala wybrać, które biblioteki zostaną włączone * .jar

Powiązane problemy