Como criar um jar com bibliotecas externas incluídas no Eclipse?

89

Concluí o projeto que se conecta ao banco de dados (MySQL). Agora quero exportar o projeto como jar. Mas não sei como incluir suas dependências externas? Existe alguma maneira de fazer isso no Eclipse ou devo usar algum script para isso ?.

Ghanta Sairam
fonte
Como você pretende entregar o aplicativo. para o usuário final? Uma rede / internet, um disco ou pen drive, ... algo mais? Faz o app. tem uma GUI?
Andrew Thompson

Respostas:

140

Ao exportar seu projeto como um 'jar executável' (botão direito do mouse no projeto -> Exportar -> jar executável), você tem a opção de empacotar todas as dependências no jar gerado. Ele também tem duas outras maneiras (veja a imagem) para exportar suas bibliotecas, esteja ciente das licenças ao decidir qual método de empacotamento você usará.

Bibliotecas de pacotes

O menu suspenso 'configuração de inicialização' é preenchido com classes contendo um main(String[])método. A classe selecionada é iniciada quando você 'executa' o jar.

Exportar como um jar executável usa as dependências em seu caminho de construção (botão direito do mouse no projeto -> Caminho de construção -> Configurar caminho de construção ...). Ao exportar como um jar 'normal' (não executável), você pode selecionar qualquer arquivo em seu (s) projeto (s). Se você tiver as bibliotecas na pasta do seu projeto, você pode incluí-las, mas dependências externas, por exemplo, não pode ser incluído (para projetos maven, pesquise aqui ).

Joost
fonte
2
@Joost: senhor, não recebo nenhuma opção no cabeçalho de configuração de inicialização ao tentar exportar um aplicativo Java como um jar executável. O que pode estar errado ou faltando?
Rat-a-tat-a-tat Ratatouille,
O Eclipse lista os main()métodos que conhece. Tente executar seu aplicativo uma vez (clique com o botão direito do mouse no projeto, Executar como, Aplicativo Java) e exporte novamente.
Joost
Isso não é relevante para esta questão, pois afirma claramente Eclipse. Por favor, poste uma nova pergunta se você não conseguir encontrar uma resposta (que certamente já está em algum lugar neste site)
Joost
1
Alguém sabe como fazer isso para um jar não rodável em Eclipse? Não há opções relacionadas às 'bibliotecas necessárias'.
jb1
@ jb1 Você já descobriu isso?
TheKingElessar
8

Você pode usar Export-> Java-> Runnable Jar para criar um jar que inclui suas dependências

Alternativamente, você pode usar o plugin fatjar eclipse também para empacotar jars

Attila
fonte
5

Você pode clicar com o botão direito do mouse no projeto, clicar em exportar, digitar 'jar' e escolher 'Exportar arquivo JAR executável'. Lá você tem a opção 'Extrair as bibliotecas necessárias para o JAR gerado'.

maerch
fonte
3

Pessoalmente,

Nenhuma das respostas acima funcionou para mim, ainda recebo erros NoClassDefFound (estou usando o Maven para dependências). Minha solução foi construir usando "mvn clean install" e usar o "[project] -jar-with-dependencies.jar" que esse comando cria. Da mesma forma, no Eclipse, você pode clicar com o botão direito do mouse no projeto -> Executar como -> Instalação do Maven e os jars serão colocados na pasta de destino.

SMKS
fonte
2

Se você deseja exportar todos os arquivos JAR de um projeto web Java, abra o último arquivo WAR gerado com uma ferramenta ZIP (por exemplo, 7-Zip), navegue até a pasta / WEB-INF / lib /. Aqui você encontrará todos os arquivos JAR necessários para este projeto (conforme listado em "Bibliotecas referenciadas").

Peter Saitz
fonte
0

Ao exportar sua fonte para um jar, certifique-se de selecionar a opção jar executável entre as opções. Em seguida, selecione se deseja empacotar todos os jars de dependência ou apenas incluí-los diretamente no arquivo jar. Depende do projeto em que você está trabalhando.

Em seguida, você executa o jar diretamente por java -jar example.jar.

Charan Raj
fonte
0

Para gerar o arquivo jar no eclipse, clique com o botão direito do mouse no projeto para o qual deseja gerar, selecione Exportar> Java> Arquivo Jar executável,

insira a descrição da imagem aqui

insira a descrição da imagem aqui

É um jar de criação que inclui todas as dependências do Pom.xml, mas certifique-se de emitir a licença se estiver usando uma dependência de terceiros para seu aplicativo.

Rohit
fonte
0

Se for um projeto java autônomo (método principal), nenhum caminho específico coloque todos os jars dentro do projeto, nenhum caminho específico, clique com o botão direito do mouse no projeto -> exportar -> Jar executável -> Selecione a configuração do almoço e gerenciamento da biblioteca em seguida, escolha a opção de botão de rádio "Empacotar bibliotecas necessárias no jar gerado" -> Concluir.

Ou

Se você tiver um projeto da web, coloque todos os jars na pasta web-inf / lib e execute a mesma etapa.

JitenS
fonte