Ok, esta é a solução que eu gostaria de encontrar, em vez disso, aqui eu escrevo:
Primeiro crie a estrutura de diretórios correspondente ao pacote definido para o arquivo .java, se for my.super.application crie o diretório "meu" e dentro dele "super" e dentro dele o arquivo .java "App.java"
em seguida, na linha de comando:
javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
Observe que o acima incluirá várias bibliotecas, se no Windows use "," para separar vários arquivos, caso contrário, no GNU / Linux use ":" Para criar um arquivo jar
jar -cvfe App.jar App my/app/
o acima irá criar o aplicativo com seu Manifesto correspondente, indicando o aplicativo como a classe principal.
Incluir as bibliotecas necessárias dentro do arquivo jar não é possível usando parâmetros de linha de comando java ou jar.
Em vez disso, você pode:
- extraia manualmente as bibliotecas para a pasta raiz do arquivo jar
- use um IDE como o Netbeans e insira uma regra dentro da seção pós-jar de nbproject / build-impl.xml para extrair as bibliotecas dentro do jar. Ver abaixo.
<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>
os nomes de file.reference são encontrados dentro do arquivo project.properties depois que você adiciona as bibliotecas ao Netbeans IDE.