之前在部署Spring Boot项目时,经常因为只修改了一小处代码、或者只更新了某个jar包,但是却需要将整个项目重新打包、上传、部署,整个包一般都会达到40-60M,每次都重复这个操作真的很耗费时间,因此就想是否能够将依赖lib与项目代码分离出来,每次部署只需要发布代码即可。
项目发版,为了应对更新多变的依赖jar包,实现增量或替换依赖jar包,越来越多的企业实现源代码和依赖jar包和依赖配置分离,更好的应对复杂多变的现场和生产环境,使用maven打包配置如下:
<build> <plugins> <!-- 指定启动类,将依赖打成外部jar包 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <!-- 生成的jar中,不要包含pom.xml和pom.properties这两个文件 --> <addMavenDescriptor>false</addMavenDescriptor> <manifest> <!-- 是否要把第三方jar加入到类构建路径 --> <addClasspath>true</addClasspath> <!-- 外部依赖jar包的最终位置 --> <classpathPrefix>lib/</classpathPrefix> <!-- 项目启动类 --> <mainClass>com.mozi.mq_monitor.MqMonitorApplication</mainClass> </manifest> </archive> </configuration> </plugin> <!--拷贝依赖到jar外面的lib目录--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-lib</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>target/lib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>false</stripVersion> <includeScope>compile</includeScope> </configuration> </execution> </executions> </plugin> <!--指定配置文件,将resources打成外部resource--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <!-- 指定配置文件目录,这样jar运行时会去找到同目录下的resources文件夹下查找 --> <manifestEntries> <Class-Path>resources/</Class-Path> </manifestEntries> </archive> <!-- 打包时忽略的文件(也就是不打进jar包里的文件) --> <excludes> <exclude>*.yml</exclude> <exclude>*.xml</exclude> <exclude>mqConfig/*.xml</exclude> </excludes> </configuration> </plugin> <!-- 拷贝资源文件 外面的resource目录--> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <!-- 资源文件输出目录 --> <outputDirectory>${project.build.directory}/resources</outputDirectory> <resources> <resource> <directory>src/main/resources</directory> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍springboot基于Mybatis mysql实现读写分离,包括了springboot基于Mybatis mysql实现读写分离的使用技巧和注意事项,需要的朋友参考一下 近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离。这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,还不带格式的,看的真心难受)。 完整代码:https:/
本文向大家介绍Spring boot 打jar包分离lib的正确配置方式,包括了Spring boot 打jar包分离lib的正确配置方式的使用技巧和注意事项,需要的朋友参考一下 前言 Springboot 打jar包分离lib,配置文件的方式,网上可以搜到的我都没试通。跟刘大神(大神没有博客,很可惜)讨论后,给出了这么一个解决方案,供大家参考。 部署环境 window 10 redhat 6.4
本文向大家介绍maven+springboot打成jar包的方法,包括了maven+springboot打成jar包的方法的使用技巧和注意事项,需要的朋友参考一下 maven的命令: 1.mvn clean package -DskipTests:在项目目录下运行此命令,在target目录下生成jar包或war包。 2.mvn clean:清理项目生产的临时文件,一般是模块下的target目录 3
场景说明: 一些特殊功能的jar包,在maven仓库中并未提供;此时就需要自己将所需的本地jar包,引入项目。 1.本地jar包 2.pom.xml中导入本地jar包 配置 <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>
但是当我进行构建时,它无法编译一些引用webapp/WEB-INF/lib文件夹的jar的类。我不能将这些JAR作为依赖项包含在pom.xml中。 如何告诉maven在构建类和创建WAR时也包含WEB-INF/Lib JAR?
本文向大家介绍深入理解基于vue-cli的webpack打包优化实践及探索,包括了深入理解基于vue-cli的webpack打包优化实践及探索的使用技巧和注意事项,需要的朋友参考一下 转眼已经是2019年,短短三四年时间,webpack打包工具成为了前端开发中必备工具,曾经一度的面试题都是问,请问前端页面优化的方式有哪些?大家也是能够信手拈来的说出缓存、压缩文件、CSS雪碧图以及部署CDN等等各种