1. 程式人生 > >Intellj idea 15中建立Maven多模組

Intellj idea 15中建立Maven多模組

文字說明

1. File -> New -> Project -> Maven, 選擇SDK後, 不要選Create from archetype, -> Next, 

2. 填寫GroupId, 例如 com.jay.dubbo, 填寫ArtifactId, 例如 dubbo-demo1我建的是dubbo專案, 這裡填個大service名稱, Version 預設, -> Next

3. 填寫Project name, 就用ArtifactId, 如dubbo-demo1, 選好專案地址, -> Finish

4. 新建好的專案裡, 刪掉系統建立的src目錄

5. 開始建立子模組. File -> New -> Module -> Maven, 如果是公共模組, 就不要選Create from archetype, -> Next, 如果不是公共模組, 例如是實際的service提供模組, 則根據需要選擇相應模板.

6. GroupId和版本按預設, ArtifactId 根據模組型別填寫, 例如dubbo-demo1-api, 一路Next -> Finsh

7. 再建立其他的模組,這裡我在dubbo-demo1專案中建立了3個子模組  dubbo-demo1-api,dubbo-demo1-provider,

dubbo-demo1-consumer

8.建立之後的主專案pom

<?xml version="1.0" encoding="UTF-8"?>
<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>com.jay.dubbo</groupId> <artifactId>dubbo-demo1</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <modules> <module>dubbo-demo1-api</module> <module>dubbo-demo1-provider</module> <module>dubbo-demo1-consumer</module> </modules> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </pluginManagement> </build> </project>

注意:

     1. 建立模組時,根據模組的功能,可以選擇模板Create from archetype, 但建立Maven主專案時,不要選擇模組

     2.編輯公共子模組的pom.xml, 注意packaging型別   基礎模組是<packaging>jar</packaging>

web模組是  <packaging>jar</packaging>

圖文參考:

本文通過一個例子來介紹利用maven來構建一個多模組的jave專案。開發工具:intellij idea。

一、專案結構

multi-module-PRoject是主工程,裡面包含兩個模組(Module):

  1. web-app是應用層,用於介面展示,依賴於web-service參的服務。
  2. web-service層是服務層,用於給app層提供服務。

二、構建專案

2.1 Parent Project

新建一個空白標準maven project(不要選擇Create from archetype選項)

填寫專案座標

得到一個標準的maven專案,因為該專案是作為一個Parent project存在的,可以直接刪除src資料夾。

2.2 增加web-app模組(Module)

選擇從archetype建立(選擇webapp選項)

groupId和version繼承自Parent project,這裡只需要填寫artifactId即可。

2.3增加web-service模組

用同樣的方法建立web-service模組(不過該模組是一個空白maven標準專案,不要從archetype建立)

2.4 得最終專案結構

2.5 關鍵幾點

  1. Parent project和各個Module擁有獨立pom檔案,他們之間的關係後續會專門寫文章介紹。
  2. Parent project用於組織不同的Module,不實現邏輯
  3. Module整合Parent project的groupId和version,Module只需要指定自己的artifactId即可。

三、新增專案依賴

上面的操作是新增web-app對web-service模組的依賴,完成上述操作後web-Service中public的類已經在web-app模組中可見了。但是這個時候在app模組使用了service模組中的類,通過maven進行編譯(compile)的時候還是會報錯XX找不到(XX為service模組的類),要解決這個問題需要在app的pom中增加對service的依賴:

   <dependency>
            <groupId>com.cnblogs.kmpp</groupId>
            <artifactId>web-service</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

以上,專案依賴的新增已經完成

四、開始程式設計

4.1 web-service模組程式設計

在web-service模組中增加一個Service類(SimpleService.java)

4.2 web-app模組程式設計

 在web-app模組增加一個Servlet,並且呼叫web-service模組的SimpleService類的getServiceDescription方法。

4.3 配置Servlet

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>

    <servlet>
        <servlet-name>Simple</servlet-name>
        <servlet-class>com.cnblogs.kmpp.SimpleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Simple</servlet-name>
        <url-pattern>/simple-servlet</url-pattern>
    </servlet-mapping>
</web-app>

五、執行

在web-app的pom中增加j2ee的依賴,以及jetty外掛的依賴。執行jetty。詳情

在瀏覽器中輸入:http://localhost:8080/web-app/simple-servlet

得到執行結果:


相關推薦

Intellj idea 15建立Maven模組

文字說明 1. File -> New -> Project -> Maven, 選擇SDK後, 不要選Create from archetype, -> Next,  2. 填寫GroupId, 例如 com.jay.dubbo, 填寫Art

在Eclipse建立Maven模組工程

在平時的Javaweb專案開發中為了便於後期的維護,我們一般會進行分層開發,最常見的就是分為domain(域模型層)、dao(資料庫訪問層)、service(業務邏輯層)、web(表現層),這樣分層之後,各個層之間的職責會比較明確,後期維護起來也相對比較容易,今天我們就是使

在Eclipse建立Maven模組工程的例子

如果,你需要建立多個專案,專案之間即獨立又有關係,那麼建立一個Maven多模組專案是個非常好的選擇,也非常cool!怎麼在Eclipse裡面建立多模組工程,以及需要注意哪些地方,我在這裡做個簡單的介紹。 一、準備 若想在Eclipse裡面做這些的話,那麼在做這一切前,請確認

Idea建立Maven模組+Spring-boot cassandra-CqlTemplate的使用

1、建立多模組的專案請參考https://blog.csdn.net/sunxiaoju/article/details/84343002 2、建立一個cassandra模組,並建立好相應的目錄包以及對應的檔案,如下圖所示: 3、然後配置pom.xml,需要新增對應的依賴包,如下程

Idea建立Maven模組+Spring-boot cassandra-CassandraTemplate的使用

1、建立多模組的專案請參考https://blog.csdn.net/sunxiaoju/article/details/84343002 2、建立一個cassandra模組,並建立好相應的目錄包以及對應的檔案,如下圖所示: 3、然後配置pom.xml,需要新增對應的依賴包,如下程

【超詳細demo編寫過程】idea使用maven模組結合ssm框架+mysql

寫這篇文章的原因      這段時間自己也正是在學習這塊,網上找了很多都沒有詳細的例子,然後基礎還不夠紮實的原因,花了不少時間才最後跑起來,所以寫這篇文章,希望能夠幫到入門的兄弟們,希望可以少走一些彎路,當然也有可能看這篇文章的時候就已經走上了彎路(開個玩笑)。同時也希望有大

Maven實戰》讀書筆記--(1)使用intellij idea搭建並配置maven模組專案

本文使用intellij idea搭建Maven3多模組專案,並進行配置相關配置,以實現專案的構建打包。 專案結構 multi-module-project是我們的專案名稱,其中包含多個模組: mmp-dal模組:資料訪問層,提供對原始資料(主要指資料庫)的操作

SpringBoot建立maven模組專案

SpringBoot建立maven多模組專案 專案結構     該專案名稱為springboot-maven-multi,由springboot-maven-multi、user-dao、user-domain、user-service、user-web個模組組成,其中spring

利用intellijidea建立maven模組專案

本文通過一個例子來介紹利用maven來構建一個多模組的jave專案。開發工具:intellij idea。 一、專案結構 multi-module-PRoject是主工程,裡面包含兩個模組(Module): web-app是應用層,用於介面展示,依賴於web-s

使用eclipse建立maven模組專案

現在稍微大點的專案都是使用多模組的,要不然全部程式都堆積在一個專案中會讓這個專案顯得很臃腫,這個是已經搭建好的,需要可自行下載:點選開啟連結廢話不多說,我們開始,首先要建立父專案-parent1、首先,在exlipse專案樹的空白處右擊-->new project2、在

(一) Eclipse建立Maven模組專案

在eclipse下構建maven專案,該專案由多個子模組組成。 1.建立一個父專案 NEW –>project–>maven–>maven Project,點選下一步,進入new

MyEclipse建立Maven模組專案,webapp專案

本文中建立maven專案,不使用命令,完全用myeclipse實現,個人感覺這樣新手更容易接受! 開發環境:myeclipse 8.6+maven(myeclipse自帶外掛)可參考:http://blog.csdn.net/qq964166471/article/deta

Eclipse使用(十二)—— 建立Maven模組(父子)專案演示Maven的聚合和繼承以及模組之間的依賴關係

在子模組中宣告該模組所屬的父專案,如下: <packaging>jar</packaging><!-- 打包方式jar包或者war包,如果不宣告預設為jar包,當然也可以為pom,這意味著此模組下面還有子模組 --> <parent> <grou

IntelliJ IDEA 拉取SVN maven 模組專案 部署tomcat 詳細圖解!

二話不說 進入主題 我們建立空專案實際上是專案空間 進入主介面 想用svn必須先啟用它 選擇Subversion 拉取 svn專案 你會發現這裡檢測不到目錄 我們進入 File》Seting 裡面 svn設

Netty入門之建立Maven模組依賴專案

新學Netty,編譯執行時踩了一些坑,記錄在此。 essential netty in action中有一個入門demo,EchoServer and EchoClient,用於Netty入門的小demo。 (Essential Netty in Action)EchoCli

IDEA建立Web聚合專案(Maven模組專案)

1、建立parent專案 2、建立子模組 3、這樣一個project就建立好了,刪除沒有用的src 4、當前結構 5、這個時候建立的不管是child1還是child2都是普通的Java專案,而不是JavaWeb專案,在一個JavaWeb專案中,我們的模組可能分為

IntelliJ IDEA建立Web聚合專案(Maven模組專案)

Eclipse用多了,IntelliJ中建立Maven聚合專案可能有小夥伴還不太熟悉,我們今天就來看看。 IntelliJ中建立普通的Java聚合專案相對來說比較容易,不會涉及到web操作,涉及到web的話會有一點點麻煩。我們來一步一步看下。 環境:In

IntelliJ IDEA建立Web聚合專案(Maven模組專案)詳細版本!!

Eclipse用多了,IntelliJ中建立Maven聚合專案可能有小夥伴還不太熟悉,我們今天就來看看。 IntelliJ中建立普通的Java聚合專案相對來說比較容易,不會涉及到web操作,涉及到web的話會有一點點麻煩。我們來一步一步看下。環境:IntelliJ IDEA

idea(二)--idea建立模組專案、maven模組開發

一、idea中建立多模組專案(多工程同時開發) 熟悉eclipse、myeclipse的人都知道,eclipse、myeclipse中都有工作的空間(workspace)的概念,一個workspace中可以建立多個project,即可同時開啟多個專案進行開發。然而,遺憾的是

Springboot整合dubbo構建maven模組專案(一)- 專案建立和pom.xmljar包配置

       以前一直用Spring作為容器構建專案,但是看到Spring官網一直在推Springboot,最重要的是Springboot確實避免自己尋找多個jar包(大多數情況下,可能自己都不記得該引入哪些jar包)和jar包之間衝突的問題,同時省掉了在整合其他框架時候