项目结构图如下: 

   

在SpringBoot多模块项目打包时遇见如下错误:

1、repackage failed: Unable to find main class -> [Help 1]

解决步骤:

  (1)删除父pom中的build标签

  (2)在web模块的pom中配置,指定启动类,其他模块中不需要配置:

  1.   <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. <configuration>
  7. <mainClass>com.dh.yjt.SpringBootDemo.SpringBootDemoApplication</mainClass>
  8. </configuration>
  9. </plugin>
  10. </plugins>
  11. </build>

2、[ERROR] /xxx.java:[16,39] 程序包com.xx..xxx不存在

  解决办法:删除其他模块中的build标签

3、springboot打包与配置文件外置

  https://blog.csdn.net/pei19890521/article/details/80984707

  最终pom及package文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <parent>
  5. <artifactId>SpringBootDemo</artifactId>
  6. <groupId>com.dh.yjt</groupId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. </parent>
  9. <modelVersion>4.0.0</modelVersion>
  10. <artifactId>mySystem-web</artifactId>
  11. <version>0.0.1-SNAPSHOT</version>
  12. <packaging>jar</packaging>
  13.  
  14. <name>mySystem-web Maven Webapp</name>
  15. <url>http://127.0.0.1/com.dh.yjt.SpringBootDemo.domain.index</url>
  16.  
  17. <properties>
  18. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  19. <maven.compiler.source>1.8</maven.compiler.source>
  20. <maven.compiler.target>1.8</maven.compiler.target>
  21. </properties>
  22.  
  23. <dependencies>
  24. <dependency>
  25. <groupId>junit</groupId>
  26. <artifactId>junit</artifactId>
  27. <version>4.12</version>
  28. <scope>test</scope>
  29. </dependency>
  30. <dependency>
  31. <groupId>com.dh.yjt</groupId>
  32. <artifactId>mySystem-config</artifactId>
  33. <version>0.0.1-SNAPSHOT</version>
  34. <scope>compile</scope>
  35. </dependency>
  36. <dependency>
  37. <groupId>com.dh.yjt</groupId>
  38. <artifactId>mySystem-dao</artifactId>
  39. <version>0.0.1-SNAPSHOT</version>
  40. <scope>compile</scope>
  41. </dependency>
  42. <dependency>
  43. <groupId>com.dh.yjt</groupId>
  44. <artifactId>mySystem-common</artifactId>
  45. <version>0.0.1-SNAPSHOT</version>
  46. <scope>compile</scope>
  47. </dependency>
  48. <dependency>
  49. <groupId>com.dh.yjt</groupId>
  50. <artifactId>mySystem-service</artifactId>
  51. <version>0.0.1-SNAPSHOT</version>
  52. <scope>compile</scope>
  53. </dependency>
  54. <dependency>
  55. <groupId>com.dh.yjt</groupId>
  56. <artifactId>mySystem-domain</artifactId>
  57. <version>0.0.1-SNAPSHOT</version>
  58. <scope>compile</scope>
  59. </dependency>
  60.  
  61. <!-- xml配置 -->
  62. <dependency>
  63. <groupId>com.fasterxml.jackson.dataformat</groupId>
  64. <artifactId>jackson-dataformat-xml</artifactId>
  65. </dependency>
  66. <dependency>
  67. <groupId>com.jd.jmq</groupId>
  68. <artifactId>jmq-model</artifactId>
  69. <version>2.1.4</version>
  70. <scope>test</scope>
  71. </dependency>
  72. </dependencies>
  73.  
  74. <build>
  75. <plugins>
  76. <plugin>
  77. <groupId>org.apache.maven.plugins</groupId>
  78. <artifactId>maven-jar-plugin</artifactId>
  79. <configuration>
  80. <archive>
  81. <manifest>
  82. <addClasspath>true</addClasspath>
  83. <mainClass>com.dh.yjt.SpringBootDemo.SpringBootDemoApplication</mainClass>
  84. </manifest>
  85. </archive>
  86. </configuration>
  87. </plugin>
  88. <plugin>
  89. <groupId>org.apache.maven.plugins</groupId>
  90. <artifactId>maven-assembly-plugin</artifactId>
  91. <configuration>
  92. <descriptors>
  93. <descriptor>src/main/resources/package.xml</descriptor>
  94. </descriptors>
  95. </configuration>
  96. <executions>
  97. <execution>
  98. <id>make-assembly</id>
  99. <phase>package</phase>
  100. <goals>
  101. <goal>single</goal>
  102. </goals>
  103. </execution>
  104. </executions>
  105. </plugin>
  106. </plugins>
  107. </build>
  108. </project>

package.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <assembly
  3. xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
  6. <id>package</id>
  7. <formats>
  8. <format>tar.gz</format>
  9. </formats>
  10. <includeBaseDirectory>true</includeBaseDirectory>
  11. <fileSets>
  12. <fileSet>
  13. <directory>${project.basedir}</directory>
  14. <outputDirectory>/</outputDirectory>
  15. <includes>
  16. <include>*.sql</include>
  17. <include>*.bat</include>
  18. <include>*.md</include>
  19. </includes>
  20. </fileSet>
  21. <fileSet>
  22. <directory>${project.basedir}/src/main/resources/bin</directory>
  23. <outputDirectory>../</outputDirectory>
  24. <includes>
  25. <include>bin/*.sh</include>
  26. <include>*.sh</include>
  27. </includes>
  28. </fileSet>
  29. <fileSet>
  30. <directory>${project.basedir}/src/main/resources</directory>
  31. <outputDirectory>/conf</outputDirectory>
  32. <includes>
  33. <include>config/*.xml</include>
  34. <include>config/*.properties</include>
  35. <include>*.properties</include>
  36. </includes>
  37. </fileSet>
  38. <fileSet>
  39. <directory>${project.build.directory}</directory>
  40. <outputDirectory>/</outputDirectory>
  41. <includes>
  42. <include>*.jar</include>
  43. </includes>
  44. </fileSet>
  45. </fileSets>
  46. </assembly>

SpringBoot多模块项目打包问题的更多相关文章

  1. 2017-09-26 发布 SpringBoot多模块项目实践(Multi-Module)

    https://segmentfault.com/a/1190000011367492?utm_source=tag-newest 2017-09-26 发布 SpringBoot多模块项目实践(Mu ...

  2. 使用IDEA构建Spring-boot多模块项目配置流程

    使用IDEA构建Spring-boot多模块项目配置流程 1.创建项目 点击Create New Project 在左侧选中Spring Initializer,保持默认配置,点击下一步. 在Grou ...

  3. 记Spring搭建功能完整的个人博客「Oyster」全过程[其二] Idea中Maven+SpringBoot多模块项目开发的设计和各种坑(模块间依赖和打包问题)

    大家好嘞,今天闲着没事干开写写博客,记录一下Maven+SpringBoot的多模块设计和遇到的坑. 多模块设计 简单说明一下截止目前的需求: 需要RESTful API:对文章.标签.分类和评论等的 ...

  4. 2 springboot多模块项目

    一般来说创建一个springboot工程基本就可以了,但是有的时候可能需要将业务模块逻辑划分,每块业务模块都是一个工程,下边演示下多模块进行开发 目录结构 ...somefun ......somef ...

  5. Maven多模块项目打包前的一些注意事项(打包失败)

    一. 最近在打包Maven项目时遇到了点问题,这个项目是Maven多模块项目,结构如下: projectParent├── xxxx-basic├── xxxx-web1├── xxxx-collec ...

  6. 使用Gradle构建springboot多模块项目,并混合groovy开发

    idea设置本地gradle 打包: build.gradle //声明gradle脚本自身需要使用的资源,优先执行 buildscript { ext { springBootVersion = ' ...

  7. docker部署 springboot 多模块项目+vue

    之前学习了docker,今天就来试试将这个项目打包成docker镜像并通过运行一个镜像来运行项目.这里使用的项目是el-admin.是一个开源的springboot后端管理框架(前端vue),有兴趣的 ...

  8. Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”! ...

  9. springboot 多模块项目创建

    1.File>new>project  直接点击next 2.输入groupId  .artifactId 3.选择项目保存路劲  finish 4.成功创建多模块项目的根模块 5.创建子 ...

随机推荐

  1. car的旅行路线

    https://www.luogu.org/problemnew/show/P1027 题目描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游.她知道每个城市都有四个飞机场,分别位于一个矩形 ...

  2. c#函数地址传入c++

    c# private delegate void ValidateEvent(int eventCode); private static void ValidateEventCallback(int ...

  3. SQL语句整理

  4. linux的使用以及linux服务器应用的部署

    一.Linux(rehat.centos.ubuntu...)基础知识 上午: putty软件连接linux服务器: [root @ foundation2   ~ ]         # 用户名   ...

  5. Windows和Office激活工具Kmsauto Net

    对于微软操作系统和OFFICE的激活,以前笔者用过 ”HEU_KMS_Activator_v11.2.0” ,不过这个工具速度相对比较慢.今天给大家推荐一个新的激活工具:KmsautoNet . 很简 ...

  6. 关于使用colorbox加载html页面的一些问题

    ColorBox是一个基于jQuery 1.3 的轻量级,自定义灯箱插件,功能非常强大,支持图片,图片组,ajax,inline和iframed内容,灯箱样式完全由用户控制,可自定义CSS样 式,不需 ...

  7. 开始转变方向,学习Linux——《Linux就该这么学》

    三十而立,四十不惑. 我呢,未立将不惑. 苦恼之余,决定拓展就业范围,正式学习Linux,准备考取RHCE证书. 考证需要报名培训机构,这是一个明智的选择,毕竟中国人善于考试,善于钻研考试. 联系培训 ...

  8. JS将/Date(1446704778000)/转换成str

    JS将/Date(1446704778000)/转换成str:var dateStr = eval(ele.add_time.replace(/\/Date\((\d+)\)\//gi, " ...

  9. sort简单用法

    -u 去重## 查看文件内容cat test_sort.txt ## sort -u 去重cat test_sort.txt |sort -u----------------------------- ...

  10. 工控随笔_14_西门子_Step7项目:打开项目不可用解决方法

    由于计算机系统区域和语言的设置,以及Step建立项目时的不同设置,有时候利用Step7打开项目时 会遇到如下情况:   项目不可用. 具体如下图所示: 图 step 7 打开时项目不可用 一.Step ...