公司的项目使用idea进行maven的多模块开发,由于接触intellij Idea没有多长时间,对好多功能都不太清楚,就在网上浏览帖子学习,在此过程中总感觉帖子写的不够详细,在途中踩了很多坑,特此记录,供新手们学习。
环境介绍
- IntelliJ IDEA 2018
- MAVEN3.5
- jre8
IntelliJ IDEA 设置jre 和IntelliJ IDEA 与 maven的集成部分在此不做介绍,请自行搜索。
创建项目
1.点击 File -> New -> Project
2.创建MAVEN项目,点击下一步
3.填写组名、项目id、项目版本
4.填写本地项目和目录名称,点击Finish
5.创建好的项目目录结构如下
6.一般多模块开发中父模块都是不带src目录的,手动删除src目录, 删除之后的目录如下
至此父模块已经创建完成。
创建模块1
1.点击左侧项目,右键new -> Module
2.创建maven项目,点击next
3.此时创建的maven项目自动继承父项目的组名,仅需填写项目id即可
4.点击下一步,点击finish创建子模块,目录结构如下:
5.此时会发现子模块目录下的src->main->java 是文件夹,而不是java源目录;src->main->resources 也不是源文件目录。
点击File->Project Struture打开设置目录点击Moudles后如下图:
6.选择module1->Sources下的java目录点击带蓝色文件夹Sources的按钮,将文件夹标记为源目录
7.点击apply,点击OK修改完成
创建模块2 并且依赖模块1
我有一个需求需要创建一个模块2让他依赖模块1来开发,步骤如下:
1.重复创建模块1的步骤
2.在模块2的pom文件里添加模块1的依赖代码:
<dependencies>
<dependency>
<groupId>com.joyhome</groupId>
<artifactId>module1</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
测试
1.模块1中添加工具类Hello.java
package com.joyhome.util;
public class Hello {
public static String sayHello(String name){
return "hello " + name;
}
}
2.模块2中添加测试类Test.java
package com.joyhome.test;
import com.joyhome.util.Hello;
public class Test {
public static void main(String[] args) {
System.out.println("args = [" + Hello.sayHello("joy") + "]");
}
}
打印结果:
注意事项: 模块1中添加完代码后需要使用maven刷新一下