Хорошо, это решение, которое я хотел бы найти, вместо этого я пишу его:
Сначала создайте структуру каталогов, соответствующую пакету, определенному для файла .java, если это my.super.application, создайте каталог «my» и внутри него «super», а внутри него - файл .java «App.java»
затем из командной строки:
javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
Обратите внимание, что приведенное выше будет включать несколько библиотек, если в Windows используйте "," для разделения нескольких файлов, в противном случае в GNU / Linux используйте ":" Для создания файла jar
jar -cvfe App.jar App my/app/
вышеупомянутое создаст приложение с соответствующим манифестом, указав приложение в качестве основного класса.
Включение необходимых библиотек в файл jar невозможно с использованием параметров командной строки java или jar.
Вместо этого вы можете:
- вручную распаковать библиотеки в корневую папку файла jar
- используйте IDE, такую как Netbeans, и вставьте правило в раздел post-jar файла nbproject / build-impl.xml для извлечения библиотек внутри jar. Увидеть ниже.
<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>
имена file.reference находятся внутри файла project.properties после добавления библиотек в IDE Netbeans.