当前位置: 首页 > news >正文

网站建设与开发课程介绍公众号开发

网站建设与开发课程介绍,公众号开发,本人急招一名临时工,案例学 网页设计与网站建设在springboot maven项目中,有两种打包方式,一种是war包,一种是jar,今天我们讲一下jar的打包方式。但是在jar包打包只要我们发现,我们的项目jar太大了,每次上传到服务器的时候非常的慢,接下来我们…

在springboot maven项目中,有两种打包方式,一种是war包,一种是jar,今天我们讲一下jar的打包方式。但是在jar包打包只要我们发现,我们的项目jar太大了,每次上传到服务器的时候非常的慢,接下来我们就来解决一下这个问题,让jar包也能先war包一样,不用每次都上传那么大的jar。

maven项目正常打jar包流程

1、检查各项配置,查看pom.xml 文件信息

maven正常打包 build配置
在这里插入图片描述

<build><finalName>fuled-oss</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.2.6.RELEASE</version><configuration><fork>true</fork><includeSystemScope>true</includeSystemScope></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.4.2</version><configuration><skipTests>true</skipTests></configuration></plugin></plugins></build>

2、clean

maven打包之前我们一般都会清理一下本地缓存
在这里插入图片描述

3、打包

接下来我们就可以开始打包了,双击
在这里插入图片描述

4、打包成功

这就是我们打包成功的文件,我们可以打开对应的文件位置看一下
在这里插入图片描述我们可以看见,刚刚打包的jar有九十几M,这还是小的项目,依赖不多,一般稍微大一点的项目都会一百多,甚至两三百或者更大,我们上传到服务器时非常麻烦,因为这个jar包里面包含了我们pom文件里面我们引入的所有的依赖,所以会很大。
在这里插入图片描述

改造pom文件,将引入的第三方依赖和代码分开

1、pom 文件 properties标签添加

<properties><env.LEARN_HOME>./target/oss</env.LEARN_HOME><!--依赖输出目录--><output.dependence.file.path>lib/</output.dependence.file.path><!--jar输出目录--><output.jar.file.path>bin/</output.jar.file.path><!--配置文件输出目录--><output.resource.file.path>config/</output.resource.file.path></properties>

2、build 标签去掉原来的 plugin标签,添加一下内容

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.3.0</version><configuration><!--${env.LEARN_HOME}为项目配置的环境变量,下同--><outputDirectory>${env.LEARN_HOME}/${output.jar.file.path}</outputDirectory><!-- 将配置文件排除在jar包 --><excludes><exclude>*.properties</exclude><exclude>*.yml</exclude><exclude>*.xml</exclude><exclude>*.txt</exclude></excludes><archive><!-- 生成的jar中,包含pom.xml和pom.properties这两个文件 --><addMavenDescriptor>true</addMavenDescriptor><!-- 生成MANIFEST.MF的设置 --><manifest><!--这个属性特别关键,如果没有这个属性,有时候我们引用的包maven库 下面可能会有多个包,并且只有一个是正确的,其余的可能是带时间戳的,此时会在classpath下面把那个带时间戳的给添加上去,然后我们 在依赖打包的时候,打的是正确的,所以两头会对不上,报错。 --><useUniqueVersions>false</useUniqueVersions><!-- 为依赖包添加路径, 这些路径会写在MANIFEST文件的Class-Path下 --><addClasspath>true</addClasspath><!-- MANIFEST.MF 中 Class-Path 各个依赖加入前缀 --><!--这个jar所依赖的jar包添加classPath的时候的前缀,需要 下面maven-dependency-plugin插件补充--><!--一定要找对目录,否则jar找不到依赖lib,前边加../是因为jar在bin下,而bin与lib是平级目录--><classpathPrefix>../${output.dependence.file.path}</classpathPrefix><!--指定jar启动入口类 --><mainClass>com.zshx.fuled.oss.OssApplication</mainClass></manifest><manifestEntries><!-- 假如这个项目可能要引入一些外部资源,但是你打包的时候并不想把 这些资源文件打进包里面,这个时候你必须在这边额外指定一些这些资源文件的路径,假如你的pom文件里面配置了 <scope>system</scope>,就是你依赖是你本地的资源,这个时候使用这个插件,classPath里面是不会添加,所以你得手动把这个依赖添加进这个地方 --><!--MANIFEST.MF 中 Class-Path 加入自定义路径,多个路径用空格隔开 --><!--此处resources文件夹的内容,需要maven-resources-plugin插件补充上--><Class-Path>../${output.resource.file.path}</Class-Path></manifestEntries></archive></configuration></plugin><!-- 复制依赖的jar包到指定的文件夹里 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>3.3.0</version><executions><execution><id>copy-dependencies</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><!-- 拷贝项目依赖包到指定目录下 --><outputDirectory>${env.LEARN_HOME}/${output.dependence.file.path}</outputDirectory><!-- 是否排除间接依赖,间接依赖也要拷贝 --><excludeTransitive>false</excludeTransitive><!-- 是否带上版本号 --><stripVersion>false</stripVersion></configuration></execution></executions></plugin><!-- 用于复制指定的文件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.3.0</version><executions><!-- 复制配置文件 --><execution><id>copy-resources</id><phase>package</phase><goals><goal>copy-resources</goal></goals><configuration><resources><resource><directory>src/main/resources</directory><includes><!--将如下格式配置文件拷贝--><exclude>*.properties</exclude><exclude>*.yml</exclude><exclude>*.xml</exclude><exclude>*.txt</exclude></includes></resource></resources><!--输出路径--><outputDirectory>${env.LEARN_HOME}/${output.resource.file.path}</outputDirectory></configuration></execution></executions></plugin>

这里面所有的plugin 都有注解,可以自己看看,不想看的直接复制粘贴。
接下来我们再按正常流程打包。
我们会发现我们指定的根目录target下面多了一个oss文件,这个文件就是我们想要的。在这里插入图片描述
这个文件下有三个文件
bin:是我们代码的jar包
config:是我们resources下面的配置文件
lib:是我们pom文件引入的第三方依赖

这样我们以后只要不添加或者删除pom文件里面的依赖,就可以只上传bin文件下的jar,这个jar包是我们的代码依赖,非常小的,一般就几兆。
在这里插入图片描述

3、启动项目

启动项目跟原来的没什么区别,一样的 java -jar 就可以启动了,想看linux服务器jave项目启动配置的可以看我的另外一篇文字
linux 创建 java jar包启动脚本

java -jar 运行jar包基础参数配置

提一嘴,上传到服务器时要把整个文件上传上去,而且不能修改文件名,比如我这个是oss,要把oss整个文件上传上去,而且不能修改oss这个文件名称,因为pom已经指定了,虽然我没有测试过,有时间你们可以测一下

好了今天的分享就到这里了

http://www.15wanjia.com/news/21424.html

相关文章:

  • 做外贸网站卖什么好收录优美图片
  • 公司做网站建设百度图片收录提交入口
  • 个人怎么开网站自己怎么制作一个网站
  • 如何做网站的图片滑动块百度站长中心
  • 简约大气ppt模板下载衡水seo培训
  • 深圳的网站建设公司seo运营人士揭秘
  • 包头学做网站百度关键词查询排名怎么查
  • 成都网站建设价格上海app定制开发公司
  • 东莞企业营销型网站建设优化seo厂家
  • 北京市建设工程造价管理处网站苏州网站排名推广
  • 深圳高端租车公司seo优化包括
  • 如何判断网站有cdn加速河南seo和网络推广
  • 小制作作文400字网站seo推广方案
  • pc网站 公众号数据互通新网站快速收录
  • 一米设计公司成都seo经理
  • 网站专题页怎么做深圳网站开发技术
  • 温州网页制作哪家好seo怎么赚钱
  • 企业高端网站建设网站营销
  • 潍坊做电商的网站建设如何查看网站权重
  • 网络科技公司网站源码百合seo培训
  • 广州品牌网站建设公司搜狗引擎搜索
  • 做暧暧视频免费网站官网seo关键词排名系统
  • 门户网站 管理系统搜索引擎是什么
  • 个人网站建设方案书例文b站软件推广大全
  • 做企业免费网站seo教程自学网
  • 网站安全证书推广普通话手抄报简单又好看
  • 2017 上海网站备案推广网站多少钱
  • 中山市城乡和住房建设局网站seo推广优化服务
  • 网站开发 海淀免费域名解析网站
  • 广州专业网站制作链接平台