当前位置:   article > 正文

Springboot + Maven多模块打包_springboot 多模块 assembly打包实例

springboot 多模块 assembly打包实例

 1.明确好用的

参考链接: 

​​​​​​SpringBoot+Maven多模块项目(创建、依赖、打包可执行jar包部署测试)完整流程 - tianlong88 - 博客园
SpringBoot+Maven 多模块项目的构建、运行、打包实战|8月更文挑战 - 掘金

注意事项:

1.idea中project structure

2.父工程用<packaging>pom</packaging>,子模块用<packaging>jar</packaging>

3.在父pom文件里,<dependencyManagement>标签下的依赖,实际上未引用,在子pom文件里需要在<dependencies>标签下自己引入

4.如果其中的子模块需要引入其他子模块,使用如下方式引用

<dependencies>
    <dependency>
        <groupId>统一的groupId</groupId>
        <artifactId>子模块名</artifactId>
    </dependency>
</dependencies>

5.在springboot application 所在的模块下的pom文件里写而不是最外层的pom.xml

  1. <plugin>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-maven-plugin</artifactId>
  4. <configuration>
  5. <mainClass>springboot application main class 入口</mainClass>
  6. </configuration>
  7. <executions>
  8. <execution>
  9. <goals>
  10. <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
  11. </goals>
  12. </execution>
  13. </executions>
  14. </plugin>
  15. <!-- 扫描项目下所有的文件 -->
  16. <resources>
  17. <resource>
  18. <directory>src/main/java</directory>
  19. <includes>
  20. <include>**/*.*</include>
  21. </includes>
  22. <excludes>
  23. <exclude>**/*.java</exclude>
  24. </excludes>
  25. </resource>
  26. <resource>
  27. <directory>src/main/resources</directory>
  28. <includes>
  29. <include>**/*.*</include>
  30. </includes>
  31. </resource>
  32. </resources>

6.最外层的pom.xml里只需要写通用的引用,引入所有子模块,modules标签即可

7.多种环境信息mvn clean install -P test

  1. <!-- 环境信息 -->
  2. <profiles>
  3. <!-- 标机开发环境 -->
  4. <profile>
  5. <id>dev</id>
  6. <properties>
  7. <activeProfile>dev</activeProfile>
  8. <serviceactive>servicedev</serviceactive>
  9. <businessactive>businessdev</businessactive>
  10. </properties>
  11. <activation>
  12. <activeByDefault>false</activeByDefault>
  13. </activation>
  14. </profile>
  15. <!-- 测试环境 -->
  16. <profile>
  17. <id>test</id>
  18. <properties>
  19. <activeProfile>test</activeProfile>
  20. <serviceactive>servicetest</serviceactive>
  21. <businessactive>businesstest</businessactive>
  22. </properties>
  23. <activation>
  24. <activeByDefault>true</activeByDefault>
  25. </activation>
  26. </profile>
  27. <!-- 生产环境 -->
  28. <profile>
  29. <id>product</id>
  30. <properties>
  31. <activeProfile>product</activeProfile>
  32. <serviceactive>serviceproduct</serviceactive>
  33. <businessactive>businessproduct</businessactive>
  34. </properties>
  35. <activation>
  36. <activeByDefault>false</activeByDefault>
  37. </activation>
  38. </profile>
  39. </profiles>

2.简单试验过的

使用springboot + assembly打包(自定义文件目录内容,灵活但复杂)

参考链接

spring-boot-assembly: Spring Boot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip

SpringCloud maven-assembly-plugin 多级目录打包 - 掘金

maven-assembly-plugin 插件多模块打包实例_xiaoxiaojavacsdn的博客-CSDN博客

将 Maven 中的多模块项目只打成一个 JAR 包-蒲公英云

springboot maven 多模块打包 jar 找不到mainClass 4小时血泪史_走码观花-CSDN博客_maven打包没有mainclass

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/207725
推荐阅读
相关标签
  

闽ICP备14008679号