1. 程式人生 > >IDEA 開發多專案依賴

IDEA 開發多專案依賴

鑑於最近學習一個分散式專案的開發,講一下關於使用IntelliJ IDEA基於Maven建立多模組專案的實際開發,可能有不合適的地方,但是專案是可以跑通的,也請有不足之處,都提出來,一起討論下。

一. 專案工程目錄

首先展示一下,最終整個專案的工程目錄:

projectTree

簡單介紹一下目錄結構: 
common-parent為所有專案的父專案,主要用來管理所有專案使用的jar包及其版本。 
common-utils為公共的工具類專案,繼承父專案,它會被打成jar包供其它專案使用。 
taotao-manager為我們自己的專案,繼承與我們的父專案。 
taotao-manager-pojo為我們自己專案的一個子模組,依賴與taotao-manager,打成jar包 
taotao-manager-mapper

為我們自己專案的一個子模組,依賴與taotao-manager-pojo,打成jar包 
taotao-manager-service為我們自己專案的一個子模組,依賴與taotao-manager-mapper,打成jar包 
taotao-manager-web為我們自己專案的一個子模組,依賴與taotao-manager-service,打成war包

二. 建立父工程

下面為具體操作: 
1. 首先開啟IntelliJ IDEA,按下面步驟來: 
createParent1 
或者第一次開啟IDEA, 
createParent2 
2. 來到建立目錄,選擇Empty project,next 
createParent3 
3. 來到New Project頁面,填寫project name,選擇Project location,點Finish 
createParent4

 
等待IDEA載入完成,進行下一步 
4. 選擇File–>New–>Module,進入New Module頁面: 
createParent5 
5. 在New Module頁面,按如下步驟操作: 
createParent6 
6. 填寫組織名稱和專案名稱,以及版本號 
createParent7 
7. 配置本地maven目錄及maven倉庫配置檔案 
createParent8 
8. 建立父工程最後一步,給Module取名,及選擇工作目錄,選擇完成 
createParent9

等待生成pom檔案,注意修改打包方式為pom,修改pom檔案如下:(由於pom檔案較長,只給出部分,獲取所有,請關注github)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>cn.william</groupId> <artifactId>common-parent</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging><!--修改打包方式--> <name>common-parent</name> <url>http://maven.apache.org</url> <!--集中定義依賴版本號--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>4.12</junit.version> ...(省略) </properties> <dependencyManagement> <dependencies> <!-- 時間操作元件 --> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${joda-time.version}</version> </dependency> ...(省略) </dependencyManagement> <build> <finalName>${project.artifactId}</finalName> <plugins> <!-- 資原始檔拷貝外掛 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.7</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- java編譯外掛 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58

三. 建立公共工具類

首先,公共工具類是繼承自父專案common-parent的。 
需要注意的一點是一點,為了專案看起來為分模組的形式(類似在eclipse中開發),在建立common-utils中有一步需要注意: 
createUtils1 
createUtils2 
下一步特別注意,這一步會影響目錄結構, 
createUtils3 
createUtils4 
createUtils5 
createUtils6

同樣注意專案的打包方式為jar,和父專案有所不同。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>common-parent</artifactId>
        <groupId>cn.william</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../common-parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>common-utils</artifactId>
    <packaging>jar</packaging><!-- 打成jar包 -->

    <name>common-utils</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <!-- jar包的依賴 -->
    <dependencies>
        <!-- 時間操作元件 -->
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
        </dependency>
        ...(省略)
    </dependencies>

</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

三. 建立開發專案

建立開發專案taotao-manager,其建立步驟同上,同樣是繼承common-parent,同樣修改其pom檔案,詳細如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>common-parent</artifactId>
        <groupId>cn.william</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../common-parent/pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>taotao-manager</artifactId>
    <packaging>pom</packaging>

    <name>taotao-manager</name>
    <url>http://maven.apache.org</url>
    <modules>
        <module>taotao-manager-pojo</module>
        <module>taotao-manager-mapper</module>
        <module>taotao-manager-service</module>
        <module>taotao-manager-web</module>
    </modules>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <!-- 依賴管理 -->
    <dependencies>
        <dependency>
            <groupId>cn.william</groupId>
            <artifactId>common-utils</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

    <build>
        <!-- 配置外掛 -->
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <port>8080</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52

四. 建立開發專案子模組

建立taotao-manager-pojo,mapper,service,web等子模組,詳細如下:

  1. 右鍵點選taotao-manager,選擇New,Module, 
    createSon1 
    createSon2 
    這一步注意,與建立common-utils時不同,是將其子模組新增到taotao-manager目錄下的: 
    createSon3 
    maven的相關配置,保持預設: 
    createSon4 
    注意子模組所在目錄就好: 
    createSon5

  2. 建立taotao-manager下其它子模組 
    上面說的時建立taotao-manager-pojo子模組,另外三個子模組的建立方式與其類似,有一點不同時,在建立taotao-manager-web子模組時,maven專案的型別選擇如下: 
    createSon6

  3. 修改子模組的pom檔案

子模組pojo,mapper,service的打包方式全為jar,只有web子模組打包為war包。

pojo子模組,pom.xml詳細如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>taotao-manager</artifactId>
        <groupId>cn.william</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>taotao-manager-pojo</artifactId>
    <packaging>jar</packaging>

    <name>taotao-manager-pojo</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

mapper子模組依賴與pojo子模組,pom.xml詳細如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>taotao-manager</artifactId>
        <groupId>cn.william</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>taotao-manager-mapper</artifactId>
    <packaging>jar</packaging>

    <name>taotao-manager-mapper</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- 依賴與pojo子模組 -->
        <dependency>
            <groupId>cn.william</groupId>
            <artifactId>taotao-manager-pojo</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!-- Mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.miemiedev</groupId>
            <artifactId>mybatis-paginator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
        </dependency>
        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- 連線池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>

    </dependencies>
</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 相關推薦

    IDEA 開發專案依賴

    鑑於最近學習一個分散式專案的開發,講一下關於使用IntelliJ IDEA基於Maven建立多模組專案的實際開發,可能有不合適的地方,但是專案是可以跑通的,也請有不足之處,都提出來,一起討論下。 一. 專案工程目錄 首先展示一下,最終整個專案的工程目錄: 簡

    [maven]idea+maven的專案依賴

    如下兩個專案: test-main test-utils 其中test-main需要引用test-utils。   最終效果如下: 實現步驟: 1:新建一個Empty Project作為框架專案 輸入框架專案名稱 ok結束 2:新建test-utils maven

    IDEA 檢視maven 專案依賴

    在maven專案中找到pom.xml,開啟。 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>

    Maven針對SpringBoot的專案依賴配置

    在Spring Boot中對於多專案依賴配置,可通過Maven實現 更多精彩 建立一個父級的pom檔案 在該pom中指定其 <groupId/>、<artifactId/>

    在Windows下使用IntelliJ IDEA 開發erlang專案

    1.準備工作需要安裝IntelliJ IDEA開發工具和Erlang SDK,具體安裝包已上傳至百度雲: IntelliJ IDEA: 連結:https://pan.baidu.com/s/1hWJV4OE1XzNpNZVWQeo54A  提取碼:0zxv  E

    02使用Intellij IDEA開發web專案(熟悉開發環境)

     File裡的new Project相當於workspace                new Module相當於project /********/ 開始部署                *new project 預設的選項  -- Next            

    使用IDEA+MAVEN管理專案依賴

    java jar檔案太多了,管理起來很繁瑣,是在每個專案下面放一個lib檔案,還是所有專案公用一個lib呢?都麻煩  IDEA+MAVEN 試試看吧, 下載maven2 在IDEA專案根資料夾新建一pom.xml: <project xmlns="http://mave

    androidStudio 專案依賴同一個module

    我們都知道,androidStudio(後面簡稱AS)在匯入一個外部的本地module時,AS採用的是複製一份到當前專案目錄下這種策略。這種方式在開發一個專案時並不會有什麼大問題,不過,在多個專案都引用同一個或幾個module時就會出現大問題,這種公用的module通常都是

    使用IDEA開發Angular專案修改預設埠號(4200)

    1、開啟專案路徑下package.json檔案;2、修改檔案中的start屬性值為set port=8888 && ng serve,這裡我指定的埠為8888,大家可以指定任意空閒埠; 

    解決使用intellij idea開發MAVEN專案在target目錄下不存在mapper.xml檔案

    這個問題卡了我一上午的時間,由於不服輸的性格,導致必須幹掉他,查了各種資料,問了各種人終於讓我找到這位老兄的部落格 原本在Eclipse中好好的MAVEN專案,匯入intellij idea中,伺服器啟動正常,但在呼叫userMapper介面時,報以下異常:

    Eclipse專案依賴工程基於Gradle的多渠道打包指令碼

    我這個版本是在友盟的版本上面做的優化: 1、此版本是為了適配Eclipse的多專案依賴工程的打包。2、修復打包過程中文顯示亂碼問題。3、修改apk的名字以及指定apk存放的資料夾。4、增加簽名的機制 程式碼已經放到github: https://github.com/in

    使用idea開發普通java專案,使用maven管理依賴,使用slf4j和log4j的配置方案

    1、首先加入依賴 <!-- https://mvnrepository.com/artifact/org.slf4j/sl

    [日常填坑]部署使用Idea開發的spring框架的模塊項目到服務器

    pro cat cti 目的 pac app 文件 per pps 首先,先題外話總結在本地Idea啟動spring boot框架項目的方式(普通spring項目運行可以自行百度): 註意:默認開發的web項目完整能運行 方式1. 如果部署的時候沒有配置spri

    IDEA 開發工具在POM.XML文件中增加依賴

    idea nbsp bsp 技術 快捷鍵 文件 .com image xml文件 在POM.XML 中使用快捷鍵 ALT+INSERT 選擇第一個,輸入關鍵字即可 選擇版本,確認,ok IDEA 開發工具在POM.XML文件中增加依賴

    IDEA SpringBoot模組專案搭建詳細過程

      1. 專案介紹:      本專案包含一個父工程 demo  和 四 個子模組(demo-base, demo-dao, demo-service, demo-web), demo-base 為其他三個模組的公共內容, 四個模組

    IntelliJ IDEA-2018.2開啟專案視窗(十四)

    選擇選單File |  Settings | Appearance&Behavior | System Settings 右側Project Opening選擇第一個Open project in new window 效果: 同時開啟多個 I

    idea中maven+ssm開發oa專案遇到問題彙總

    1.target資料夾中不能生成mapper對映檔案,一直報找不到錯誤 原因:idea不會吧src/main/java下的配置檔案打包 解決方案: <resources> <resource> <directory>src/mai

    IDEA建立module專案

    新建父模組: New Project --> Maven 刪除src檔案 新建子模組:選中父模組後 關聯SVN 點選綠色的+號,選擇一個SVN倉庫的地址,下面可以選擇上傳到SVN倉庫的目錄格式,然後點選Shard(之後專案就會變成綠色) 右

    Intellij IDEA 建立gradle專案

    首先在IDEA裡面建立一個Gradle專案,專案名為Gradle:目錄結構如下 2.接著在Gradle目錄下建立兩個資料夾:FirstModule,SecondModule,並將目錄結構仿照src目錄形式建立,並將原src目錄刪除.如圖: 接著在grad

    解決IDEA的maven專案 新增依賴後Reimport無反應

    如果重啟專案和編譯器都不管用的話, 找到專案在硬碟上的位置 把該專案的.idea資料夾和xxx.iml檔案刪除  開啟IDEA到這個頁面 點選Import Project  選擇專案的pom檔案, 重新引入即可. 個人猜想:專案結構出現問題,或者是專案的配置檔案出現問題,