Ok, to jest rozwiązanie, które chciałbym znaleźć, zamiast tego tutaj je piszę:
Najpierw utwórz strukturę katalogów odpowiadającą pakietowi zdefiniowanemu dla pliku .java, jeśli jest to moja.super.application utwórz katalog „my”, w nim „super”, aw nim plik .java „App.java”
następnie z linii poleceń:
javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
Zauważ, że powyższe będzie zawierało wiele bibliotek, jeśli w systemie Windows użyj "," do oddzielenia wielu plików, w przeciwnym razie w GNU / Linux użyj ":" Aby utworzyć plik jar
jar -cvfe App.jar App my/app/
powyższe spowoduje utworzenie aplikacji z odpowiednim Manifestem wskazującym aplikację jako główną klasę.
Włączenie wymaganych bibliotek do pliku jar nie jest możliwe przy użyciu parametrów wiersza poleceń java lub jar.
Zamiast tego możesz:
- ręcznie wyodrębnij biblioteki do folderu głównego pliku jar
- użyj środowiska IDE, takiego jak Netbeans, i wstaw regułę do sekcji post-jar pliku nbproject / build-impl.xml, aby wyodrębnić biblioteki z słoika. Zobacz poniżej.
<target name="-post-jar">
<!-- Empty placeholder for easier customization. -->
<!-- You can override this target in the ../build.xml file. -->
<jar jarfile="${dist.jar}" update="true">
<zipfileset src="${dist.jar}" includes="**/*.class" />
<zipfileset src="${file.reference.iText-1.0.8.jar}" includes="**/*"/>
<zipfileset src="${file.reference.itextpdf-3.2.1.jar}" includes="**/*"/>
</jar>
</target>
nazwy file.reference znajdują się w pliku project.properties po dodaniu bibliotek do środowiska Netbeans IDE.