Empacote o Spring Boot em um jar executável

Criar um jar executável

Vamos encerrar nosso exemplo criando um arquivo jar executável totalmente independente que pode ser executado em produção. Jars executáveis ​​(às vezes chamados de "fat jars") são arquivos que contêm suas classes compiladas e os jars dependentes que seu código precisa para executar.

Jars executáveis ​​e Java : Java não fornece nenhuma maneira padrão de carregar arquivos jar incorporados (isto é, arquivos jar também contêm arquivos jar). Isso é um problema se você deseja distribuir um aplicativo independente. Para resolver esse problema, muitos desenvolvedores usam jars "compartilhados". Um jar compartilhado simplesmente empacota as classes de todos os jars em um único "super jar". O problema com a abordagem jar compartilhada é que é difícil dizer quais bibliotecas estão disponíveis em seu aplicativo. Também pode ser um problema se o mesmo nome de arquivo (mas conteúdo diferente) existir em vários jars. O Spring Boot segue uma [rota diferente](…/X.Appendices/D. O executável jar format.md) e permite que você inline jars.

Para criar um jar executável, será necessário spring-boot-maven-pluginadicionar ao nosso pom.xml. Insira o seguinte no nó de dependências:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Nota : O POM contém a configuração spring-boot-starter-parentpara vincular o destino do reempacotamento . <executions>Se você não estiver usando um POM pai, precisará declarar essa configuração por conta própria. Consulte a documentação do plug-in para obter detalhes .

Salve seu pom.xml e execute a partir da linha de comando mvn package:

$ mvn package

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:1.3.0.BUILD-SNAPSHOT:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

Se você procurar no diretório de destino, deverá vê-lo myproject-0.0.1-SNAPSHOT.jar. O arquivo deve ter cerca de 10Mb de tamanho. Se você quiser espiar por dentro, você pode executar jar tvf:

$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar

No diretório de destino, você também deve ver um pequeno myproject-0.0.1-SNAPSHOT.jar.originalarquivo chamado . Este é o arquivo jar original que o Maven criou antes do Spring Boot reempacotá-lo.

Para executar o aplicativo, você pode usar java -jaro comando:

$ java -jar target/myproject-0.0.1-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v1.3.0.BUILD-SNAPSHOT)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.536 seconds (JVM running for 2.864)

Como antes, clique ctrl-cpara sair do programa suavemente.

Acho que você gosta

Origin blog.csdn.net/2301_76484015/article/details/130485745
Recomendado
Clasificación