Intellij IDEA新建多模块项目

1、新建空项目(等同于NET解决方案sln)

一种是:从Maven里面选择maven-archetyp-site,这种创建出来是一个src目录 + pom文件,(学习springcloud创建的方式),建议用这种方式创建解决方案

然后在资源管理器里面找到src目录,全部都删掉,把pom.xml文件里面没用的东西删掉,增加pom类型,和包+版本号的统一管理

复制代码
 1   <!-- 手工添加包类型 -->
 2 <packaging>pom</packaging>
 3 
 4 ...
 5 删掉其他没用的
 6 ...
 7 
 8   <!-- 统一管理jar包版本 -->
 9   <properties>
10     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
11     <maven.compiler.source>1.8</maven.compiler.source>
12     <maven.compiler.target>1.8</maven.compiler.target>
13     <junit.version>4.12</junit.version>
14     <log4j.version>1.2.17</log4j.version>
15     <lombok.version>1.16.18</lombok.version>
16     <mysql.version>5.1.47</mysql.version>
17     <druid.version>1.1.16</druid.version>
18     <mybatis.spring.boot.version>1.3.2</mybatis.spring.boot.version>
19   </properties>
20 
21   <!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version  -->
22   <dependencyManagement>
23     <dependencies>
24       <!--spring boot 2.2.2-->
25       <dependency>
26         <groupId>org.springframework.boot</groupId>
27         <artifactId>spring-boot-dependencies</artifactId>
28         <version>2.2.2.RELEASE</version>
29         <type>pom</type>
30         <scope>import</scope>
31       </dependency>
32       <!--spring cloud Hoxton.SR1-->
33       <dependency>
34         <groupId>org.springframework.cloud</groupId>
35         <artifactId>spring-cloud-dependencies</artifactId>
36         <version>Hoxton.SR1</version>
37         <type>pom</type>
38         <scope>import</scope>
39       </dependency>
40       <!--spring cloud alibaba 2.1.0.RELEASE-->
41       <dependency>
42         <groupId>com.alibaba.cloud</groupId>
43         <artifactId>spring-cloud-alibaba-dependencies</artifactId>
44         <version>2.1.0.RELEASE</version>
45         <type>pom</type>
46         <scope>import</scope>
47       </dependency>
48       <dependency>
49         <groupId>mysql</groupId>
50         <artifactId>mysql-connector-java</artifactId>
51         <version>${mysql.version}</version>
52       </dependency>
53       <dependency>
54         <groupId>com.alibaba</groupId>
55         <artifactId>druid-spring-boot-starter</artifactId>
56         <version>${druid.version}</version>
57       </dependency>
58       <dependency>
59         <groupId>org.mybatis.spring.boot</groupId>
60         <artifactId>mybatis-spring-boot-starter</artifactId>
61         <version>${mybatis.spring.boot.version}</version>
62       </dependency>
63       <dependency>
64         <groupId>junit</groupId>
65         <artifactId>junit</artifactId>
66         <version>${junit.version}</version>
67       </dependency>
68       <dependency>
69         <groupId>log4j</groupId>
70         <artifactId>log4j</artifactId>
71         <version>${log4j.version}</version>
72       </dependency>
73       <dependency>
74         <groupId>org.projectlombok</groupId>
75         <artifactId>lombok</artifactId>
76         <version>${lombok.version}</version>
77         <optional>true</optional>
78       </dependency>
79     </dependencies>
80   </dependencyManagement>
81 
82   <build>
83     <plugins>
84       <plugin>
85         <groupId>org.springframework.boot</groupId>
86         <artifactId>spring-boot-maven-plugin</artifactId>
87         <configuration>
88           <fork>true</fork>
89           <addResources>true</addResources>
90         </configuration>
91       </plugin>
92     </plugins>
93   </build>
pom.xml
复制代码

另外一种是:新建空项目(等同于NET解决方案sln),这种创建出来只有空目录没有pom.xml文件

 

 

 

 

 设置当前空项目(解决方案)的Project SDK版本和Project language level

 

需要手工创建pom.xml文件集中设置包+版本号的统一管理

复制代码
 1 <!--手动添加下面的包类型 -->
 2 <packaging>pom</packaging>
 3 
 4 
 5 <!-- 统一管理jar包版本 -->
 6   <properties>
 7     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 8     <maven.compiler.source>1.8</maven.compiler.source>
 9     <maven.compiler.target>1.8</maven.compiler.target>
10     <junit.version>4.12</junit.version>
11     <log4j.version>1.2.17</log4j.version>
12     <lombok.version>1.16.18</lombok.version>
13     <mysql.version>5.1.47</mysql.version>
14     <druid.version>1.1.16</druid.version>
15     <mybatis.spring.boot.version>1.3.2</mybatis.spring.boot.version>
16   </properties>
17 
18   <!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version  -->
19   <dependencyManagement>
20     <dependencies>
21       <!--spring boot 2.2.2-->
22       <dependency>
23         <groupId>org.springframework.boot</groupId>
24         <artifactId>spring-boot-dependencies</artifactId>
25         <version>2.2.2.RELEASE</version>
26         <type>pom</type>
27         <scope>import</scope>
28       </dependency>
29       <!--spring cloud Hoxton.SR1-->
30       <dependency>
31         <groupId>org.springframework.cloud</groupId>
32         <artifactId>spring-cloud-dependencies</artifactId>
33         <version>Hoxton.SR1</version>
34         <type>pom</type>
35         <scope>import</scope>
36       </dependency>
37       <!--spring cloud alibaba 2.1.0.RELEASE-->
38       <dependency>
39         <groupId>com.alibaba.cloud</groupId>
40         <artifactId>spring-cloud-alibaba-dependencies</artifactId>
41         <version>2.1.0.RELEASE</version>
42         <type>pom</type>
43         <scope>import</scope>
44       </dependency>
45       <dependency>
46         <groupId>mysql</groupId>
47         <artifactId>mysql-connector-java</artifactId>
48         <version>${mysql.version}</version>
49       </dependency>
50       <dependency>
51         <groupId>com.alibaba</groupId>
52         <artifactId>druid-spring-boot-starter</artifactId>
53         <version>${druid.version}</version>
54       </dependency>
55       <dependency>
56         <groupId>org.mybatis.spring.boot</groupId>
57         <artifactId>mybatis-spring-boot-starter</artifactId>
58         <version>${mybatis.spring.boot.version}</version>
59       </dependency>
60       <dependency>
61         <groupId>junit</groupId>
62         <artifactId>junit</artifactId>
63         <version>${junit.version}</version>
64       </dependency>
65       <dependency>
66         <groupId>log4j</groupId>
67         <artifactId>log4j</artifactId>
68         <version>${log4j.version}</version>
69       </dependency>
70       <dependency>
71         <groupId>org.projectlombok</groupId>
72         <artifactId>lombok</artifactId>
73         <version>${lombok.version}</version>
74         <optional>true</optional>
75       </dependency>
76     </dependencies>
77   </dependencyManagement>
78 
79   <build>
80     <plugins>
81       <plugin>
82         <groupId>org.springframework.boot</groupId>
83         <artifactId>spring-boot-maven-plugin</artifactId>
84         <configuration>
85           <fork>true</fork>
86           <addResources>true</addResources>
87         </configuration>
88       </plugin>
89     </plugins>
90   </build>
pom.xml
复制代码

不管哪种方式都需要统一添加包+版本号统一管理

 2、新建项目模块(等同于NET解决方案文件夹)

 

 

 

 

 

 IDE里面出现自动导入maven包的提示,点击自动导入之后,

Run窗口就会出现导入maven用到的包文件

 过一会儿就会出现src目录,pom文件也会变成含有代码的项目格式,之后删掉src目录

 增加pom的packaging标签,删掉compiler标签

<packaging>pom</packaging>

 修改项目使用的JAVA编译的版本号

 

 3、新建项目模块(在解决方案文件夹上右键菜单创建项目模块)

在tb.common项目上右键菜单新建Module

 

 

 

 Maven自动导入包之后,

tb.common/pom.xml

tb.csharp/pom.xml

tb.common项目目录

 

tb.csharp项目目录

 

4、新建项目模块(在解决方案文件夹上右键菜单创建项目)

在项目里面创建java的类文件,首先需要先把类文件所在的目录创建好并设置为Java的文件夹类型,如source folders,test source folders等等,

如果IDEA没有自动创建好src\main\java目录,需要手动创建,如果等待maven自动导入包成功之后就会自动创建好这个目录了(如果有目录忽略这一步)

 查看java的项目文件夹类型是否正确

 或者

 

 Sources,Tests,Resources等文件夹类型,设置成功的当你选中java的文件夹会自动将上面的按钮颜色变成深色。

等待maven导入包完成之后,IDE会自动创建好对应class和test目录,当你选中某一个java的文件夹之后,能看到它对应类型的按钮变成深色。

source code目录

 test code目录

 

 如果是自己创建的目录可能需要指定一下每个对应的java目录类型,选中java目录,点上面的按钮就可以了设置好了。

 如果是等待maven包自动导入完成之后,maven创建的类它所对应的包名是不对,用的是tb.common的包名,需要重命名为tb.csharp的包名

 设置好之后,就可以新建java class了。

 

 

 如果是有main方法的可以点左面的绿色箭头运行console的项目

 

posted @   —八戒—  阅读(2093)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2016-01-14 ASP.NET 5 RC 1:UrlRouting 设置(不包含MVC6的UrlRouting设置)
点击右上角即可分享
微信分享提示