
Maven
maven
旷野历程
精通微服务架构、分布式架构以及高性能、高并发、高可用等领域;精通MySQL数据库原理,对SQL调优、分库分表、数据一致性、海量数据处理等有深入了解。具备独立设计和开发的经验,曾负责过大型分布式服务设计、支付交易系统的设计,能够快速定位和解决线上问题。
展开
-
SpringBoot服务启动时指定环境配置文件
在日常开发中至少有三个环境,分别是开发环境(dev),测试环境(test),生产环境(prod)。不同的环境配置都不尽相同,如请求地址、用户名、密码等。Spring Boot 对多环境整合已经有了很好的支持,能够在运行间、打包时自由切换环境。原创 2023-11-15 20:30:00 · 1328 阅读 · 0 评论 -
Maven打包时跳过测试代码
Maven 打包时会把一些用于测试的类或文件也一起打包,无疑增加了打包失败的风险,也加剧了文件占用磁盘的大小。所以本次写一下如何跳过测试类。原创 2023-11-15 13:08:30 · 716 阅读 · 0 评论 -
spring-boot-maven-plugin插件 —— 打包时减小jar包的大小方法
使用这种部署的方式,每次的迭代更新,不用每次都上传一个很大的 jar 包,从而节省部署时间。但这种方式也有一个弊端就是增加了 jar 包的管理成本,多人协调开发,构建的时候,还需要专门去关注是否有人更新依赖。但每次修改代码,都需要重新把他们构建 jar 中去,往服务器上传、发布,生成大量的资源、带宽、时间的浪费。Maven 在打包时会将所依赖的 jar 包全部打包进去,包含了所有的依赖和资源文件,就会导致打出来的包比较大。这种依赖可能会经常变动,所以不宜打到外部的 lib,不然就会需要经常上传更新。原创 2023-11-20 08:26:04 · 796 阅读 · 0 评论 -
spring-boot-maven-plugin插件 —— 保留依赖
使用这种部署的方式,每次的迭代更新,不用每次都上传一个很大的 jar 包,从而节省部署时间。但这种方式也有一个弊端就是增加了 jar 包的管理成本,多人协调开发,构建的时候,还需要专门去关注是否有人更新依赖。在做开发时,除了会引用第三方依赖,也会依赖自己公司的其它模块。这种依赖可能会经常变动,所以不宜打到外部的 lib,不然就会需要经常上传更新。有排除依赖,必然也有保留依赖。前边写完排除依赖,这次写一下保留依赖。为了解决这种问题只需在插件中把需要打进 jar 的填写进去就可以了。原创 2023-11-20 08:26:26 · 209 阅读 · 0 评论 -
spring-boot-maven-plugin插件 —— 默认打包配置
执行 打包命令后,先是执行的 mvn 常规操作,创建普通 jar包,然后 spring boot repackage 将其重新命名为 *.jar.original 原始包, 在原始包的基础上添加项目依赖和起动类,最后打成可执行的 jar包。创建 Spring Boot 应用,默认会添加 Maven 插件:spring-boot-maven-plugin。若项目结构比较复杂,如父子结构、多层结构或通过命令动态指定打包方式等,就需要额外的配置支持。原创 2023-11-17 19:28:45 · 783 阅读 · 0 评论 -
spring-boot-maven-plugin插件 —— 排除依赖
默认情况下,repackage 和 run 目标会包含任何定义在项目中的 provided 依赖。Spring Boot 项目会认为 provided 依赖是运行应用的容器所需的依赖。其中一些依赖项可能根本不需要,应该从可执行 jar 中排除。为了保持一致性,它们在运行应用程序时也不应该出现。原创 2023-11-20 08:25:47 · 1950 阅读 · 0 评论 -
spring-boot-maven-plugin插件 —— 重新打包分类
如果使用的是 spring-boot-starter-parent,则 repackage 目标将在 ID 为 repackage 的执行中自动执行。上面配置示例会在 target 目录中创建 2 个 jar 文件,一个是原始 jar,另一个是后缀带 exec 表示为可执行的 jar。默认情况下,repackage 目标将用重新打包的包替换原始包。如果需要保留原始包,并有可执行 jar 包,请按如下所示配置插件。原创 2023-11-20 08:20:24 · 324 阅读 · 0 评论 -
spring-boot-maven-plugin插件 —— 打成普通jar
如果是 Spring Boot 项目结构是通过父子工程来管理,就可能有多个层级结构,工程之前存在依赖关系,如果所依赖的包被打包 spring boot 的可执行 jar,则该工程中启动时就会报找不到类的异常。或在 pom.xml 文件中配置将是否打成执行 jar 包配置为参数项,默认为 false(即插件默认的打可执行 jar),外部执行 mvn package 传入该参数值。此时需要将所依赖的包打包普通 jar 包,就不要执行 spring-boot.repackage 操作。原创 2023-11-18 09:49:36 · 371 阅读 · 0 评论 -
spring-boot-maven-plugin插件 —— 重新打包命名
【代码】spring-boot-maven-plugin插件 —— 重新打包命名。原创 2023-11-20 08:19:32 · 834 阅读 · 0 评论 -
Maven打包时根据不同的环境打包不同的配置文件
如果不做资源过虑,在打包时会带上全部的配置文件,但是为了考虑安全性问题,我们只保留对应环境下的配置文件。原创 2023-11-15 07:30:00 · 624 阅读 · 0 评论 -
Maven分离资源文件
Spring Boot 项目默认的会将所有资源文件、依赖文件、配置文件等打包成单一的 jar 文件,但是有时候我们并不想让配置文件、依赖包都跟可执行文件打包到一起。打包时使用 resources 的 exclude 排除指定的资源文件,使用 maven-resources-plugin 将配置文件输出到外部目录。这时候可以在 pom.xml 文件中进行配置,从而使资源文件、依赖包和可执行文件分离。原创 2023-11-15 13:08:09 · 515 阅读 · 0 评论 -
Maven多模块实现统一版本管理
Maven多模块实现统一版本管理原创 2022-10-13 09:24:28 · 5997 阅读 · 0 评论 -
Maven打包时去掉代码注释和测试类
Maven打包时去掉代码注释和测试类原创 2022-09-07 10:30:57 · 1220 阅读 · 0 评论 -
HikariCP对各Java版本的支持
HikariCP对各Java版本的支持原创 2022-09-03 08:09:13 · 3130 阅读 · 0 评论 -
Maven多层级服务版本号控制
Maven多层级服务版本号控制原创 2022-09-02 14:53:11 · 504 阅读 · 0 评论 -
Maven多层级架构打包
分享知识 传递快乐多模块工程的打包命令参考:-am --also-make 同时构建所列模块的依赖模块;-amd -also-make-dependents 同时构建依赖于所列模块的模块;-pl --projects <arg> 构建制定的模块,模块间用逗号分隔;-rf -resume-from <arg> 从指定的模块恢复反应堆。指定 settings.xml 打包mvn clean package --settings C:\Users\Admini\.原创 2021-06-04 09:28:22 · 2101 阅读 · 3 评论 -
Maven打包jar到远程仓库
分享知识 传递快乐聚合包在 parent 项目中的 pom.xml 聚合<modules> <!-- 聚合模块 --> <module>common-core</module> <module>log-core</module></modules>settings.xml 配置配置私服的用户名密码<servers> <server>...原创 2021-01-28 18:01:48 · 1133 阅读 · 0 评论 -
解决Maven打包没有依赖jar包问题
在使用 `maven package` 打包时发现生成的 `xxx.jar` 文件只有几兆,打开后发现只是当前项目被编译后的class 文件,而没有项目依赖的 jar。原创 2020-12-15 21:58:47 · 10853 阅读 · 3 评论 -
Maven打包SpringBoot项目时出现Test异常
分享知识 传递快乐在做 Maven 对 SpringBoot 项目打包时出现以下异常:Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.27 s <<< FAILURE! - in com.springBoot.SpringBootJinfuCoreApplicationTestscontextLoads(com.springBoot.SpringBootJinfuCoreApplicati.原创 2020-08-03 16:03:59 · 9467 阅读 · 0 评论 -
Maven命令打包异常:java.lang.NoClassDefFoundError: org/apache/maven/shared/filtering/MavenFilteringExceptio
分享知识 传递快乐使用 Idea 对 Maven 项目打包时一直出现以下异常:[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ dianshang-ipay ---[WARNING] Error injecting: org.apache.maven.plugin.war.WarMojojava.lang.NoClassDefFoundError: org/apache/maven/shared/filtering/MavenFi.原创 2020-07-23 13:29:36 · 4692 阅读 · 0 评论 -
解决Maven下载依赖慢的问题
分享知识 传递快乐使用Maven构建项目时,项目中有的依赖包可能下载的非常慢,我们可以通过配置镜像来解决这个问题,这里使用的是阿里的仓库下载依赖。打开Maven下的setting.xml文件,在< mirrors> 标签中加入<!-- 阿里云仓库 --><mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun mave原创 2020-06-22 10:29:53 · 785 阅读 · 0 评论 -
Maven中plugin配置说明
分享知识 传递快乐maven-compiler-plugin编译Java源码,一般只需设置编译的jdk版本<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.0</version> <configuration原创 2020-06-19 21:45:15 · 16187 阅读 · 1 评论 -
Maven和Gradle区别
分享知识 传递快乐Java中主要有三大构建工具:Ant、Maven和Gradle。Ant用的比较少、Maven用的相对普遍,而Gradle的发展则将是未来的一种趋势。使用Maven需要有pom.xml文件,使用Gradle需要有一个对应的build.gradle文件。依赖管理系统Maven中用groupId、artifactId、version组成的Coordination(坐标)...原创 2019-11-10 21:28:35 · 18012 阅读 · 3 评论