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的項目

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM