继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Idea使用Maven创建多模块SpringBoot项目问题记录

慕冬雪
关注TA
已关注
手记 78
粉丝 9132
获赞 5502

软件版本:

  1. Idea 15.0
  2. Maven 3
  3. Spring Boot 1.4
  4. JDK 1.7
    项目结构:
    图片描述
    模块之间关系:
    flyat-admin为后台
    flyat-admin-app为后台配置(拦截器、监听器等)
    flyat-core为核心层(mapper、service等)
    flyat-web为前台
    flyat-web-app为前台配置(拦截器、监听器等)
    其中flyat-web/flyat-admin 依赖flyat-web-app/flyat-admin-app,flyat-web-app/flyat-admin-app依赖flyat-core
    异常信息:
    图片描述
    图片描述

**问题模块:***flyat-web & flyat-web-app

问题流程:
图片描述

在root模块上进行clean + package可以正常打包,然后java -jar xx.jar可以正常运行(无异常信息),在flyat-web项目中手动启动Applaction.java报上面的异常信息。个人保证maven依赖都有(flyat-web-app和flyat-web-app配置是基本相同的,admin没问题),并且项目上没有明显的异常提示(引用异常、代码异常都没有),通过ctrl能正常定位到源码文件位置,但是通过mvn clean之后就是不能正常run Applaction.java。

另外有一点需要注意,flyat-admin-app和flyat-web-app都是后来改的项目和module名字,原本不叫这个名字

解决方式:

因为通过对比配置文件、重新添加依赖都不能解决,因此尝试删除原module后重新new一个,添加完之后复制原代码文件、添加对应依赖,编译报错,
图片描述
图片描述

查看依赖信息(jdk本来使用的默认配置OpenJdk,现在改成本机的JDK),

查看iml文件
图片描述

重新clean、compile没问题,运行 Applaction.java
图片描述

启动完成。

最后附上之前错误的一版和新建的module的iml文件部分对比(右侧为错误的一版)
图片描述

最后总结:

一定要规范的来,在项目搭建之初就应该确认项目名称、项目文件名称,切不可中途随便修改,要时刻保证文件、依赖的一致性。

最后的最后,在呼吁一下:
图片描述

这个标签该更新一下了,这篇文章的标签我居然不知道该选什么...Spring没有,Spring Boot也没有,Maven更没有。

我可以对一个人无限的好,前提是值得。 ——慕冬雪

打开App,阅读手记
21人推荐
发表评论
随时随地看视频慕课网APP

热门评论

您好请教一个问题,maven springboot多模块项目,我是就创建了四个springboot子项目,xxx-dao、xxx-service、xxx-entity以及xxx-web,请问所有的配置都在web下的yml配置吗?比如数据库连接?还是在dao中的yml配置,这四个yml打包后会合并吗?

有具体的步骤吗?我也在弄这个多springboot的

帅哥是否可以分享demo

查看全部评论