1、springboot项目推荐的打包方式

springboot有两种打包方式,分别是打包成war包和打包成jar包。打包成war包放在tomcat的webapp目录下,随着tomcat的启动,即可访问项目。jar包该如何有效启动项目呢??   别担心!!!  springboot项目打包成jar包会把内置的tomcat也一同打包了,省去你在tomcat部署的时间。况且!!  多一次启动tomcat,就多一次出现bug的风险,所以能不部署到tomcat就尽量不部署到tomcat。 因为springboot项目内置的tomcat配置或者一些规则要求 可能会与本机tomcat发生冲突!!所以还是建议大家打包成jar包!!!

1.1.war包的打包方式可以参考此大神的博客,讲的非常细致。Spring Boot项目打包成war包_西瓜不甜柠檬不酸的博客-CSDN博客

1.2.jar包的打包步骤如下:

  (1)启动idea并创建springboot项目,此处我选的是maven工程,idea会自动关联maven工程,方便打包操作。

  (2)写了一个测试类:

点击启动项目,在浏览器中输入http://localhost:8080/test,得到如下结果 

(3)打成jar包

 点击右侧的maven project,之后再点击package,便可打成jar包

jar的位置:

(4)运行jar包

将jar包放在任意位置,这次我选择放在E盘,通过cmd切换盘符到E盘 ,输入 java  -jar  jar包名称.jar,效果如下:

(5)测试jar包是否成功

在浏览器地址栏输入  http://localhost:8080/test, 有下面的结果就证明你打包成功!!

 2、springboot项目的瘦身

一般情况下将开发好的springboot项目打包成jar包,然后部署到服务器上。但是打包出来的jar包非常大,因为里面包含了各种依赖,所以会出现修改代码两分钟,传包10分钟的尴尬情况!!

2.1.正常情况下的jar包

2.2.解压出来后的jar包大小

2.3.lib的jar包大小

 2.4.开始减肥行动

(1)pom配置图

<build>
		<plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--项目的启动类-->
                    <mainClass>com.org.ScdbApplication</mainClass>
                    <!--解决windows命令行窗口中文乱码-->
                    <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
                    <layout>ZIP</layout>
                    <!--配置需要打包进项目的jar-->
                    <includes>
                        <!--这里是填写需要包含进去的jar,
                        	必须项目中的某些模块,会经常变动,那么就应该将其坐标写进来
                        	如果没有则non-exists ,表示不打包依赖
                        -->
                        <include>
                            <groupId>non-exists</groupId>
                            <artifactId>non-exists</artifactId>
                        </include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--此插件用于将依赖包抽出-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <excludeTransitive>false</excludeTransitive>
                            <stripVersion>false</stripVersion>
                            <includeScope>runtime</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
		</plugins>
	</build>

(2)正常点击idea自带的package进行打包

(3)将libjar 放在同一级目录下

(4)在linux控制台输入   java -jar -Dloader.path=lib scdb.jar

至此,项目瘦身成功啦!!!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐