Aqui, resumimos as várias maneiras de usar a idéia para empacotar pacotes de jar. Você pode consultar o seguinte formulário para projetos futuros para embalar pacotes de jar:
Use o próprio método de embalagem da Idea:
Arquivo da Idea Abra -> Estrutura do projeto e insira a página Configuração do projeto. Como mostrado na figura abaixo:
Clique em Artefatos para inserir a página Configuração de artefatos, clique em + e selecione as opções na figura abaixo.
Digite a página Criar jar a partir da página Módulos e configure -a como mostrado na figura abaixo.
Depois de clicar em OK , a seguinte interface é exibida. Clique com o botão direito do mouse <raiz de saída>, clique em Criar diretório , criar um LIBS e colocar todos os frascos de terceiros no diretório LIBS.
Após o sucesso, como mostrado na figura a seguir:
Depois de colocar, clique no nome do frasco que queremos digitar, que é kafka-cps.jar e selecione ClassPath para configuração.
Os resultados editados são os seguintes:
Todos os frascos estão escritos em libs/ . Clique em OK para retornar à página de configuração.
Ao mesmo tempo, observe que na página de configuração, verifique a criação
Por fim, clique em OK na página de configuração para concluir a configuração. Voltar à idéia, clique em Build-> Build Artifacts e selecione Build
O pacote JAR que precisamos será gerado. Sua localização é dentro /out/Artifacts/kafka_cps_jar no diretório OUT do diretório do projeto.
A seguir, é apresentado um conteúdo de arquivo manifesto corretamente configurado
Pacote com plugina maven-de-sombra
O processo de embalagem acima é realmente muito pesado e não aproveita os recursos dos projetos de gerenciamento do Maven. Para fazer isso, estamos usando o plugin Maven-Shade-Plugin no Maven aqui. No pom.xml, adicionamos as seguintes informações para adicionar o plug -in.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.4</version> <configuration><createDependencyReducedPom>true</createDependencyReducedPom> </configuration> <execution> <phase>package</phase> <goals> <goal>shade</goal> </metas> <figuration> <Transformers> <Transformer implementation = "org.apache.maven.plugins.shade.resource.manifestresourceTransformer"> <mainClass> main.main </mantclass> </transformador> </formmers> </sabiguration> </Execution> </PLULL> </PLULL> </PLULL> </PLULL> </PLULL> </PLUGLASS> </PLULL> </PLULL> </PLULL> </PLULL> </PLULL> </PLUGLASS> </PLUGLLASS> </PLUGLLAIGHTIM> </PLULL> </PLUGLASS> </PLUGLLASS> </PLUGLL.
Existe uma tag 'Configuração'. Existe uma tag do transformador nesta tag para configurar a entrada para a função principal ( <TainClass> main.main </aintClass> ). Obviamente, o conteúdo desta tag é muito complicado, não tão simples quanto escrito acima. A razão pela qual o acima é tão simples é que existe apenas um método principal em todas as classes (incluindo frascos de terceiros). Se houver um método principal em um frasco de terceiros, será necessária uma configuração adicional. A configuração acima pode não ser bem -sucedida.
Depois de adicionar este código ao pom.xml, podemos usar o comando maven para empacotá -lo. As instruções são as seguintes:
MVN LIMPE COMPILA // Limpe o arquivo de compilação de destino anterior e o pacote MVN limpo MVN // do projeto (porque o plug-in está configurado, o pacote JAR é executável) MVN Clean Install // Installe o projeto e, em seguida, você pode usá-lo
Em seguida, execute-o através de java -jar cps-1.0-snapshot.jar .
Se você usar a ideia, pode usar a ferramenta de gerenciamento do Maven incluída para executar o comando acima. Conforme mostrado na figura abaixo, clique na parte azul por sua vez.
Pacote com plugina maven-montagem
Também precisamos clicar em muitos comandos para empacotar o método acima. Desta vez, usando um novo plug-in, pode ser mais fácil empacotar. Da mesma forma, adicione o seguinte código ao pom.xml. O código do plug-in acima do maven-de-Shade-Plugin pode ser excluído. É melhor não escrever 2 códigos de plug-in.
<plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <descriptorRefs> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>Main.Main</mainClass> </manifest> </arquivamento> </figuration> <Execution> <id> Make-Massembly </dod> <shase> package </shase> <tecles> <lection> single </age> </acestes> </secution> </conformions> </plugin>
Aqui também está uma tag de manifesto para configurar a entrada para a função principal. Em seguida, use as seguintes instruções para realizar a embalagem.
mvn assembly:assembly
Se você usar a ideia, pode usar a ferramenta de gerenciamento do Maven incluída para executar o comando acima. Conforme mostrado na figura abaixo, clique na seção azul.
Em seguida, execute executando java -jar cps-1.0-snapshot-jar-with-dependencies.jar .
O exposto acima é todo o conteúdo deste artigo. Espero que o conteúdo deste artigo seja de ajuda para estudar ou trabalhar de todos. Eu também espero apoiar mais wulin.com!