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)

原文地址:https://www.cnblogs.com/vincenshen/p/10262497.html

时间: 2024-10-09 16:37:55

Java SpringBoot 项目打包的相关文章

SpringBoot 项目打包后获取不到resource下资源的解决

SpringBoot 项目打包后获取不到resource下资源的解决 在项目中有几个文件需要下载,然后不想暴露真实路径,又没有CDN,便决定使用接口的方式来获取文件.最初的时候使用了传统的方法来获取文件路径,发现不行.查找资料后发现是SpringBoot框架导致的,得用另外的方法: //听说在linux系统中会失效. //不用听说了,就是会挂,血的教训 String path = ResourceUtils.getURL("classpath:").getPath(); //此方法返回

Java Web 项目打包脚本

可用于 (但不限于) Eclipse 项目. 一次性生成:1. Java doc .zip 包:2. Java 源代码 .zip 包:3. Java 二进制文件 .jar 包:4. Java 源代码加二进制 .jar 包:5. 包含 Java 源代码的 .war 包. 依赖:能在 PATH 中找到 jar .javadoc . 因项目和个人习惯不同,脚本可能需要修改才能适应实际情况.?1. [代码]某次打包的效果 [[email protected] jweb.tfw.tfw_web_lpm]$

Eclipse中创建新的SpringBoot项目(打包并且部署到tomcat)

Spring-boot因为其对jar包的高度集成以及简化服务配置,快速部署等的优点,逐渐成为Java开发人员的热衷的框架.下面演示一下怎么在Eclipse中新建Spring-boot项目以及打包部署. 在Eclipse中创建Spring-boot有两种方式 方式一 进入Spring-boot的在线配置网站http://start.spring.io/:定制自己的项目服务组件,下载到本地并使用Eclipse导入项目 服务组件: Web:web项目组件,包含spring mvc,tomcat,log

Java Web 项目打包成 .war 包

从来没有想过web项目还能打包的,但是有要求,就不得不去实现,在网上找了一下,发现挺简单的. 首先是使用MyEclipse将web项目打包,如下图所示. 右键选中项目,选择export. 然后选择J2EE->WAR File.点击next 接下来制定war包的存放路径,我们将它放在卓面上. 打包完成以后我们将war放到tomcat的webapps目录下. 然后运行tomcat,并输入项目的url就可以了.和正常的web文件同样对待. 北京哪里找富婆包养 海淀哪里找富婆包养 东城哪里找富婆包养 西

SpringBoot项目打包出错

首先确定项目都能跑通的情况下,在跟项目打包时报错 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.21.0:test (default-test) on project spring_boot: There are test failures. 大概意思是测试文件打包失败. 既然失败,那就忽视测试文件. 在测试类中添加给注解@Ignore @Ignore 在类上添加就是忽视这个类, 在方法上添加就是忽

IDEA如何把写好的java文件/项目打包成一个jar的文件

写完一个java程序把它封装成一个jar的包  这样就可以在别的jar上面运行这些程序了 这是IDEA的版本号  有时候博客内容无法使用就是跟版本号有关 因此在这里附上版本号 可以根据这个信息看一下自己的版本  有时候版本差距并不是很大 找到下面这个选项在[File这个按钮中] 点击[Project Structure]再到[Artifacts]   点击加号之后 可以勾选可以不勾选 后面在添加都可以 建议不用勾选  后面自己添加 选择jar的类型  把第三方库文件添加进去拖拽 可以直接打包[a

SpringBoot 项目打包分开lib,配置和资源文件

原文地址:https://blog.csdn.net/u012811805/article/details/80878848 1 jar启动分离依赖lib和配置 先前发布boot项目的时候,改动一点东西,就需要将整个项目重新打包部署,十分不便,故把依赖lib从项目分离出来,每次部署只需要发布代码即可.1.1 半自动化步骤1.1.1 更换maven的jar打包插件 先前使用的是spring-boot-maven-plugin来打包,这个插件会将项目所有的依赖打入BOOT-INF/lib下,替换为m

springboot项目打包和运行的方式

命令跳过测试的打包方式 mvn package -Dmaven.test.skip=true 项目部署的命令jar的存放位置打开cmd java -jar  打的jar文件 指定不同的生产环境项目部署 java -jar 打的jar文件 --spring.profile.active=gs 原文地址:https://www.cnblogs.com/wang66a/p/12069296.html

SpringBoot项目打包

@SpringBootApplication public class TestpackagewarApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(TestpackagewarApplication.c