Java SpringBoot 项目打包

Posted Vincen_shen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java SpringBoot 项目打包相关的知识,希望对你有一定的参考价值。

前提条件

  1、已安装配置好maven

Maven打包命令介绍

  mvn clean package  依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段;
  mvn clean install     依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段;
  mvn clean deploy    依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。

  由上面的分析可知主要区别如下:

    package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库;
    install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库;
    deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。  

第一步,配置mainClass

在pom.xml中增加configruation配置mainClass

 <build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>com.vmware.firstappdemo.FirstAppDemoApplication</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

 

第二步,开始打包

shongbing-a01:~ shongbing$ cd Downloads/first-app-demo
shongbing-a01:first-app-demo shongbing$ mvn -Dmaven.test.skip -U clean package
[INFO] Scanning for projects...
[INFO] 
[INFO] ---------------------< com.vmware:first-app-demo >----------------------
[INFO] Building first-app-demo 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ first-app-demo ---
[INFO] 
[INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ first-app-demo ---
[INFO] Using UTF-8 encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ first-app-demo ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 5 source files to /Users/shongbing/Downloads/first-app-demo/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ first-app-demo ---
[INFO] Not copying test resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ first-app-demo ---
[INFO] Not compiling test sources
[INFO] 
[INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ first-app-demo ---
[INFO] Tests are skipped.
[INFO] 
[INFO] --- maven-jar-plugin:3.1.1:jar (default-jar) @ first-app-demo ---
[INFO] Building jar: /Users/shongbing/Downloads/first-app-demo/target/first-app-demo-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.1.2.RELEASE:repackage (repackage) @ first-app-demo ---
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.278 s
[INFO] Finished at: 2019-01-13T14:18:25+08:00
[INFO] ------------------------------------------------------------------------

 

第三步,运行jar包

shongbing-a01:first-app-demo shongbing$ cd target/
shongbing-a01:target shongbing$ java -jar first-app-demo-0.0.1-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\ / ____ __ _ _(_)_ __  __ _    
( ( )\___ | _ | _| | _ / _` |    
 \/  ___)| |_)| | | | | || (_| |  ) ) ) )
    |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.2.RELEASE)

2019-01-13 14:18:42.805  INFO 31960 --- [           main] c.v.f.FirstAppDemoApplication            : Starting FirstAppDemoApplication v0.0.1-SNAPSHOT on shongbing-a01.vmware.com with PID 31960 (/Users/shongbing/Downloads/first-app-demo/target/first-app-demo-0.0.1-SNAPSHOT.jar started by shongbing in /Users/shongbing/Downloads/first-app-demo/target)
2019-01-13 14:18:42.808  INFO 31960 --- [           main] c.v.f.FirstAppDemoApplication            : No active profile set, falling back to default profiles: default
2019-01-13 14:18:44.419  INFO 31960 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 8080
2019-01-13 14:18:44.424  INFO 31960 --- [           main] c.v.f.FirstAppDemoApplication            : Started FirstAppDemoApplication in 2.239 seconds (JVM running for 2.869)

 







以上是关于Java SpringBoot 项目打包的主要内容,如果未能解决你的问题,请参考以下文章

Linux——在Linux系统上打包和部署springboot+vue项目,nginx+mysql+redis+minio

SpringBoot+Docker项目打包(jar)和部署

SpringBoot将项目打包成jar包

Java SpringBoot 项目打包

idea打包springboot项目没有.original文件

Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)二十三(项目打包和部署)