Idea使用Maven创建多模块SpringBoot项目问题记录
软件版本:
- Idea 15.0
- Maven 3
- Spring Boot 1.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文件部分对比(右侧为错误的一版)
最后总结:
一定要规范的来,在项目搭建之初就应该确认项目名称、项目文件名称,切不可中途随便修改,要时刻保证文件、依赖的一致性。
- 本文标签: Java Spring Boot Maven
- 本文链接: https://zhyd.me/article/19
- 版权声明: 本文由张亚东原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权