springboot项目推荐的打包方式以及springboot项目的瘦身!!!!
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)将lib和jar 放在同一级目录下
(4)在linux控制台输入 java -jar -Dloader.path=lib scdb.jar
至此,项目瘦身成功啦!!!!!
springboot项目推荐的打包方式以及springboot项目的瘦身!!!!相关推荐
- SpringBoot(六)打包方式
SpringBoot项目的两种发布方式:即项目的两种打包方式,jar包或是war包 一.打包成jar包 IDEA工具,使用Maven工具,install命令 注意:是Lifecycle 下的insta ...
- 玩转 Springboot 2 | 不使用 parent 方式创建SpringBoot项目篇
专题系列分类:玩转SpringBoot2.x系列教程 我们创建SpringBoot项目都是通过如下图的方式配置进行创建: 我们在实际工作项目中不是每个人都喜欢从spring-boot-starter- ...
- python新手项目-推荐 13 个 Python 新手练级项目
内容聚合器(Content Aggregator) 1. 技术细节 该项目设计的主要目标是聚合内容.首先,我们需要知道内容聚合器从哪些站点获取内容.然后,使用请求库来发送 HTTP 请求,并使用 Be ...
- python小项目推荐项目-推荐 10 个有趣的 Python 项目
想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...
- gradle普通项目构建外部依赖jar的终极方法gradle瘦身
示例build.gradle如下 加载的包可以随意主要是下面的部分 plugins {id 'maven-publish' }dependencies {testCompile group: 'jun ...
- springBoot 项目 jar/war打包 并运行
一:idea 打jar 包 简述:springboor 项目最好的打包方式就是打成jar ,下边就是简单的过程 1.打开idea工具 ,选着要打开的项目, 然后打开view--> too ...
- react项目_如何从零开始创建React项目(三种方式)
在开发React项目前最关键的当然是项目的创建,现在的前端工程化使得前端项目的创建也变得越来越复杂,在这里介绍三种从零开始创建React项目的方式,分别是在浏览器中直接引入.使用官方脚手架create ...
- Electron打包方式
Electron提供了两个打包工具,本文将分别尝试使用两个工具对项目打包,并分析其打出来的包的结构. 一.使用electron-builder打包 https://github.com/electro ...
- 如何从零开始创建React项目(三种方式)
在开发 React 项目前最关键的当然是项目的创建,现在的前端工程化使得前端项目的创建也变得越来越复杂,在这里介绍三种从零开始创建 React 项目的方式,分别是 "在浏览器中直接引入&qu ...
最新文章
- 辞退了一名 2 年工作经验的前端工程师
- java支持iSCSI协议,ISCSI协议
- python 开发板加密_Bugku 加密 python writeup
- ASP.NET比较常用的26个性能优化技巧
- switch里能不能用continue?
- vue - .babelrc
- linux中文系统换英文字体,linux系统下肿么切换字体?
- 《C++ Primer》2.11节练习
- Linux下构建自己的C++共享库并配合pkg-config生成链接选项
- RFC的远程调用-异步
- go mysql rows.next_Go基础之--操作Mysql(二)
- C++调用Object-C
- 有什么视频翻译软件?这些软件值得收藏
- Hibernate Hierachy
- Lumion 9.0 动画渲染的10个技术技巧
- arm我的世界linux,Minecraft (简体中文)
- 点击修改用户图像php类,php修改图像
- AndroidStudio安装配置教程(参考)
- 企业项目化管理【一】:项目管理软件选型指南
- 给OkHttp Client添加socks代理
热门文章
- l100_Issuer_test 使用说明
- 警用宽窄带融合技术国际学术交流会成功召开
- EtherCAT总线运动控制器应用进阶一
- 薪酬 | 2020年 DBA薪资报告:你的待遇是否受到疫情影响?
- 普通管线的材质球在URP渲染管线中出现的材质丢失问题
- ThinkPHP历史漏洞
- 阿里本地生活一二三面
- 科技英语翻译计算机化考试,《信息科技英语翻译》期末考试 A卷参考答案
- 【docker】dbclient远程访问非本机数据库(mysql,oracle,postgres,sqlserver/mssql),测试远程数据库连通性
- 展现千年科举历史的广东惠州古代科举制度陈列馆开馆