Eu estava escrevendo um programa simples usando um aplicativo Java (não um aplicativo que possui projetos, mas um aplicativo dentro de um projeto; .java ) que possui um único quadro. Ambos os arquivos são .java então não posso escrever um manifesto necessário para o JAR.
o MyApp.java começa como uma classe com pacote, importa a classe pública MyApp
e tem uma função principal, mas ainda é um arquivo .java! Estou escrevendo no JDeveloper 11g, se ajudar.
Alguma ideia de como fazer um JAR a partir desses arquivos?
Respostas:
Abra um prompt de comando.
Vá para o diretório onde você tem seus arquivos .java
Criar um diretório
Execute a compilação java a partir da linha de comando
se não houver erros, no diretório de construção você deve ter sua árvore de classes
mova para o diretório de construção e faça um
Para adicionar opções de linha de comando jar de verificação de manifesto
fonte
jar cfe Main.jar Main *
(Mas fiquei confuso, tive que colocar o nome da classe principal após o nome do arquivo de saída.)Simplesmente com linha de comando:
Claro que os IDEs evitam usar o terminal de linha de comando
fonte
.class
procedimento acima funcionou, mas eu precisei especificar o do myApp. Assim foijar -cf myJar.jar myApp.class
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
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:
os nomes de file.reference são encontrados dentro do arquivo project.properties depois que você adiciona as bibliotecas ao Netbeans IDE.
fonte
Freqüentemente, você desejará especificar um manifesto, como:
Que diz: "criar jarFilename verboso manifestFilename", seguido pelos arquivos que você deseja incluir. Detalhado significa imprimir mensagens sobre o que está fazendo.
Observe que o nome do arquivo de manifesto fornecido pode ser qualquer um, já
jar
que o renomeia automaticamente e o coloca no diretório correto dentro do arquivo jar.fonte
Isso pode ser feito sem terminal, diretamente do IDE. Netbeans, por exemplo.
fonte
Aqui está outra maneira sofisticada de fazer isso:
Que pegará todos os arquivos .java (
ls | grep .java
) de seu diretório atual e os compilará em .class (xargs -I {} javac {}
) e então criará o arquivo jar a partir das classes compiladas anteriormente (jar -cf myJar.jar *.class
).fonte
Talvez a maneira mais amigável para iniciantes de compilar um JAR a partir de seu código Java seja usar um IDE (ambiente de desenvolvimento integrado; essencialmente apenas software amigável para desenvolvimento) como Netbeans ou Eclipse.
Você sempre pode fazer isso muito facilmente com a linha de comando. Certifique-se de que você está no mesmo diretório dos arquivos de destino antes de executar um comando como este:
... alterando "YourApp" e "YourJar" para os nomes próprios de seus arquivos, respectivamente.
fonte