一、创建一个空项目

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_idea

二、在空项目中创建模块(作为maven的parents)

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_jar包_02


选择刚刚创建的空项目,并且给新模块起名字

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_java_03

三、设置JDK的版本(依赖方式)

在pom.xml文件中添加

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>15</source>
                    <target>15</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

三、设置JDK的版本(常规方式)

位置1:Project Structure–project

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_java_04


位置2:Project Structure–Modules

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_java_05


位置3:javac

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_jar包_06


(说明:下列位置修改完后,,建议再次检查下有没有修改成功,假如不能生效,那么可以在maven中clean后再次按照上述步骤修改)

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_jar包_07


——假如jdk不一致,运行时可能会出现以下错误(文末文章有多种解决方法)

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_java_08

四、在父模块创建子模块

之后就可以把该maven项目当成javaweb的parents父模块来使用(删除掉parents的src文件夹,然后创建子maven模块)

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_jar包_09


idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_idea_10

你可以不断重复上述步骤来实现maven多级模块的创建,只需要注意路径即可(也可以创建和web_parents平行的项目,这里就不赘述了)

idea同一项目下不同模块互相引用java文件 idea创建多个同级模块_jar包_11


为什么要使用多模块呢?有什么好处?

1、方便开发并拥有清晰的结构,进行分布式开发一定会用到的管理形式

2、子模块的pom文件会继承父工程的pom文件,子pom只需要关心自己模块儿需要依赖的jar包就可以,版本管理可以交由父pom来控制——用父pom来定义所有模块的jar的版本号,统一整个模块使用的版本信息。

(这样我们所有的子模块都不需要维护jar包的版本,避免引起版本冲突带来的程序错误。)