Os projetos tradicionais da primavera podem ser implantados principalmente para contêineres da web, como o Tomcat. A Spring Boot fornece um método de implantação super simples, que é combinar diretamente o aplicativo em um pacote JAR e só precisa executar o java -jar na produção para ser executado.
Este artigo descreve como criar um pacote de jar executável e como implantar, executar e parar.
Na primeira etapa, precisamos adicionar Spring-Boot-Maven-Plugin ao pom.xml e adicioná-lo na seção de dependências abaixo:
<build> <lugins> <flugin> <puperid> org.springframework.boot </foupiD> <TRATIFACTID> Spring-boot-maven-plugin </ArtifactId> </plugin> </plugins> </fuild>
A segunda etapa é salvar o Pom.xml e executar o comando MVN Package para pacote:
Localhost: pacote de primavera-tutorial-tutorial Majunwei $ mvn pacote -dmaven.test.skip = true [info] digitalização para projetos ... [aviso] [Aviso] Alguns problemas foram encontrados na construção do modelo: 0,0.1-srinating 'spring-short-shating' pare): 0,0.1-srinating 'spring-short-tutorial-tutoratil-tatal: 0.0.1-srinating' spring-short-tutorial-tutorial-revolable: 0,0.1-sring '0.0.1-sring' com.majunwei:spring-boot-tutorial-executable:0.0.1-SNAPSHOT (/Users/majunwei/Documents/work/spring-boot-tutorial/spring-boot-tutorial-executable/pom.xml) points at com.majunwei:spring-boot-tutorial instead of org.springframework.boot: Spring-boot-starter-parent, verifique se a estrutura do projeto @ linha 6, coluna 10 [aviso] [aviso] É altamente recomendável corrigir esses problemas porque eles ameaçam a estabilidade do seu edifício. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- /Usuários/Majunwei/Documentos/Trabalho/Spring-Boot-Tutorial/Spring-Boot-Tutorial-Reconcegável/Src/Main/Recursos [Info] Pule o Recurso não existente/Usuários/Majunwei/Documentos/Work/Spring-Boot-Tutorial/Spring-Boot-Tutorial-Tutorial-Tutorial/Src/Main MAVEN-COMPILER-PLUGIN: 3.1: Compile (padrão-compile) @ Spring-boot-tutorial-executável --- [Info] Nada para compilar-Todas as classes estão atualizadas [info] [infault-] --- MAVEN-RESOUTCES-PLUGIN: 2.6: testes-resgates (default-testources) @ spring- --- maven-compiler-plugin: 3.1: testCompile (padrão-testcompile) @ spring-boot-tutorial-revolucion --- [info] não compilando fontes de teste [info] [infault] --- MAVEN-SureFire-Plugin: 2.18.1: teste (teste [teste) @ sking-boot-tutor-tutor-tire-plugin: 2.18.1: tests [teste [teste) @ skings] maven-jar-plugin: 2.6: jar (default-jar) @ spring-boot-tutorial-executável --- [info] [info] --- primavera-boot-maven-plugin: 1.5.6.release: reapating (padrão) @ spring-boot-tutorial-executável --- [informações] ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Isso completa a operação de embalagem e salva os grandes pacotes no diretório de destino. Deve ser cerca de 10 MB.
LocalHost: Target Majunwei $ LS -LHTOTAL 28232DRWXR-XR-X 4 MAJUNWEI PESSOAL 136B 8 4 11:12 CLASSESDRWXR-XR-X 3 Majunwei Staff 102B 8 4 11:14 Gerado-Sourcesdrwxr-Xr-X 3 MAJUNWEI MAVEN-ARCHIVERDRWXR-XR-X 3 MAJUNWEI STAFF 102B 8 4 11:14 MAVEN-STATUS-RW-R --- 1 MAJUNWEI STAFF 14M 8 4 11:14 Spring-boot-tutorial-executável-0.0.1-SnaPshot.Jar Spring-Boot-Tutorial-executável-0.0.1-snapshot.jar.originaldrwxr-xr-x 3 MAJUNWEI STAFF 102B 8 4 11:12 Classes de teste
Este pacote contém pacotes de jar dependentes, aulas e outras informações. Se você deseja visualizar cuidadosamente o conteúdo deste pacote JAR, pode usar o comando jar tvf ou descompactá -lo para ler:
$ jar tvf primavera-boot-tutorial-executável-0.0.1-snapshot.jar
Há também um arquivo muito pequeno para o MyProject-0.0.1-snapshot.jar.original no diretório de destino. Este é o arquivo JAR original criado pelo Maven antes que a bota da primavera seja embalada.
O terceiro passo é usar o comando java -jar para executar o aplicativo:
LocalHost: Target Majunwei $ Java -Jar Spring-Boot-Tutorial-executável-0.0.1-snapshot.jar. ____ __ _ /// / ___'_ __ _ _ (_) _ __ __ _ _ / / / / / (() / ___ | '_ |' _ | '_ // _` | | | / / / / / / / / / / / / / / / | | | | | | | | | | | .__ | | _ | | _ | | ============== | _ | =========================== ____/=/_/_/:: Spring Boot :: (v1.5.6.release) 2017-08-04 12: 05: 58.917 909-909 --- [REPLATION) v0.0.1-snapshot no localHost com PID 909 (/users/majunwei/documents/work/spring-boot-tutorial/spring-boot-tutorial-executable/target/spring-boot-tutorial-executable-0.0.1-snapshot.Jarg. /Usuários/Majunwei/Documentos/Trabalho/Spring-Boot-Tutorial/Spring-Boot-Tutorial-Terget/Target) 2017-08-04 12: 05: 58.926 Informações 909 --- [Main] Osbtutorial.Executable.Application: Nenhum conjunto de perfil ativo, default para default. Principal] ATionConfigEmBeddedWebApplicationContext: Org.springframework Refreshhing.boot.context.embedded.annotationConfigembeddedwebapplicationContext@27f8302d: data de inicialização [sex. Raiz do contexto Hierarquia de 2017-08-04 12: 06: 01.030 Informações 909 --- [Principal] SBCETTOMCATEMBEDDEDSERVLETCONTINER: TOMCAT inicializado com portas (s): 8080 (HTTP) 2017-08-04 12: 06: 01.050 90909090909090909090. o.apache.catalina.core.StandardService: Serviço de início [Tomcat] 2017-08-04 12: 06: 01.053 Info 909 --- [Main] org.apache.catalina.core.Standardengine: Startlet Engine: Apache Tomcat/8.5.16201777777708-08-08-0: [OST-StartStop-1] OCCC [TOMCAT]. [LOCALHOST]. 12: 06: 01.430 Informações 909 --- [OST-StartStop-1] OsbWServlet.ServletRegistrationBean: Mapping Servlet: 'DispatcheserServlet' para [/] 2017-08-04 12: 06: 01.437 Info 909-[ostton-04] 12: 06: 01.437 Info 909-[ostton-04] OSBOL. 'CaracterEncodingFilter' para: [/*] 2017-08-04 12: 06: 01.437 Info 909 --- [OST-StartStstop-1] OsbWServlet.FilterRegistrationBean: Mapping Filter: 'HiddenHttpmethodfilter' para: [/*] [OST-StartStop-1] OSBWServlet.FilterRegistrationBean: Filtro de mapeamento: 'httpputformContentFilter' para: [/*] 2017-08-04 12: 06: 01.439 Informações 909 --- [ost-startstop-1] OsbwServlet.Filter.Filter Maireg. [/*] 2017-08-04 12: 06: 01.439 Info 909 --- [OST-StartStop-1] Osbwservlet.FilterRegistrationBean: Filtro de mapeamento: 'requestcontextfilter' para: [/*] 2017-08-04 12: 06: 01.890 '90 90: @Controlleradvice: org.springframework.boot.context.embedded.annotationConfigembeddedwebapplicationContext@27f8302d: data de inicialização [sexta -feira, 04 de agosto 12:05:59 CST 2017]; Raiz do contexto Hierarchy2017-08-04 12: 06: 02.019 Informações 909 --- [Principal] SwsMMeQuestMappingHandLerMapping: mapeado "{[/]}" em java.lang.string org.spring.boot.tutorial.executable.Application.home.home () () (). --- [principal] swsMmareQuestMappingHandLerMapping: mapeado "{[/error]}" para public org.springframework.http.Responseentity <java.util.map <java.lang.string, java.lang.object >> org.springframework.boot.autoconfigure.web.basicerrorcontroller.error (javax.servlet.http.httpServletRequest) 2017-08-04 12: 06: 02.024 Informações 909-[Main] SwsMareMerMerMerMerMerMerMerMerMeMerMerMeMerm "{[/erro], produz = [text/html]}" no público org.springframework.web.servlet.modelandview org.springframework.boot.autoconfigure.web.basicerrorcontroller.errorhtml (javax.servlet.http.httpServletRequest, Javax.Servlet.http.httpsletResponse) oswshandler.simpleurlHandlerMapping: Path de URL mapeado [/webjars/**] no manipulador do tipo [classe org.springframework.web.servlet.resource.ResourceHttPrequestHandler] 2017-08-04 12: 06: 02.062 Informações 90. Caminho do URL mapeado [/**] para o manipulador do tipo [classe org.springframework.web.servlet.resource.resourcehttprequesthandler] 2017-08-04 12: 06: 02.129 info 909 --- [Main] Oswshandler.-SimplerlhandLhandLandlerMernMelMernMelMernMelMernMelMernMelMernMelMernMelMernMelMerming Handler do tipo [classe org.springframework.web.servlet.resource.resourcehttprequesthandler] 2017-08-04 12: 06: 02.344 Info 909 --- [Main] OsjeaannotationMBeansporter: Beans-0. 909 --- [principal] SBCETTOMCATEMBEDDEDSERVLETLETContainer: Tomcat Iniciado em portas (s): 8080 (http) 2017-08-04 12: 06: 02.458 Info 909 --- [Main] OsbtUtorial.xecutable.Aplicação: Aplicação iniciada em 4.04 segundos (JV em execução.Etapa 4: Assim como antes, se você deseja sair do aplicativo, pressione Ctrl-C.
Baixe o código fonte deste tutorial
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.