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

软件版本:

  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文件部分对比(右侧为错误的一版)
这里写图片描述

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

### 如何在 IntelliJ IDEA使用 Maven 创建 Spring Boot 项目 #### 创建模块 进入 `File -> New -> Module` 的界面,在此选择 `Maven` 而不是常见的 `Spring Initializr` 来构建新的模块[^1]。 #### 配置基本信息 点击 `Next` 进入到下一个页面,这里需要输入项目的名称、存储的位置以及 GroupId。如果目标是开发一个基于 Spring Boot 和 Redis 的应用,则可以将项目命名为 `springboot-redis` 或者其他有意义的名字来帮助识别该项目的目的和功能。 #### 完成创建过程 当所有的必要信息都已提供完毕之后,通过点击 `Finish` 即可完成整个基础 Maven 项目的建立工作。此时应该能看到一个非常简洁干净的项目结构,里面只包含了最基本的文件夹和文件,这有助于开发者更专注于核心业务逻辑而不被过多无关紧要的东西所干扰。 #### 将普通 Maven 项目转换为 Spring Boot 项目 为了让这个普通的 Maven 工程能够支持 Spring Boot 特性,还需要进一步的操作,例如添加依赖项至 pom.xml 文件中以便引入必要的库和支持特性。 #### 加载外部配置资源 对于那些希望利用 XML 形式的 Bean 定义或者其他形式的传统 Spring 配置文件的应用来说,可以在任意 Java Config 类上面加上 `@ImportResource` 注解并指定相应的路径,从而使得这些外部定义得以加载和解析[^2]。 #### 设置 IDE 对于 Maven 构建工具的支持选项 确保IDE本身已经正确设置了对于Maven的支持参数,可以通过菜单栏中的 `File → Settings → Build, Execution, Deployment → Build Tools → Maven` 访问相关设置面板来进行调整优化[^3]。 #### 编写简单的 RESTful Web Service 测试接口 最后一步就是验证环境是否正常运作了。为此可以在应用程序里编写一段简易的服务端点代码片段用于返回字符串消息作为响应体内容发送回客户端浏览器显示出来。下面是一个例子: ```java package com.example.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class GreetingController { @GetMapping("/greet") public String greet() { return "Welcome to the world of Spring Boot!"; } } ``` 启动主程序类(通常带有 `main()` 方法的那个),待控制台提示服务成功部署后就可以尝试访问 `/greet` URL 地址查看效果了[^4]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智布道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值