4

公司的项目使用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刷新一下


勇敢的心
9 声望0 粉丝