intellij用maven來建立多模組專案
Maven 與 IntelliJ IDEA 的完美結合
可以先看看這個帖子,用intellij來maven構建多模組工程還是有很多好處的。
IntelliJ IDEA借鑑的Maven的概念,不在採取Eclipse裡Project的概念,一切都是Module。無論是否使用Maven,你的專案都是一個獨立 的Module。並且你可以混搭使用Maven Module和普通的Java Module,兩者可以和諧共存。
Intellij構建多模組的視窗
有時一個模組是用來dao的,一個用來service等的……多人協作開發……
首先建立一個空專案:Demo,New Project對話方塊左側選擇Maven Module(IDEA中的Module對應於Eclipse中的Project)
進入下一步,需要模板就打勾,web專案選址webapp
右擊專案,選擇新建module
下一步
選擇webapp
下一步後預設情況是這樣的:
點選“finish”,會出現如下的提示:
上網幾乎找不到答案,不過應該也簡單,第一行沒有填,要填的意思,可是找還是需要下載maven開源專案才可以的,所以要上Apache官網下載maven專案,解壓到任何一個目錄下,“override”打勾,點選“...”,選擇maven的home目錄,不需要選擇下面的子目錄,然後點選“finish”。沒有錯誤了,聯網下嘩啦啦地下載了很多東西!
下載完會有如下一些提示:
"C:\Program Files\Java\jdk1.7.0_51\bin\java" -Dmaven.home=E:\apache-maven-3.2.3 -Dclassworlds.conf=E:\apache-maven-3.2.3\bin\m2.conf -Dfile.encoding=UTF-8 -classpath E:\apache-maven-3.2.3\boot\plexus-classworlds-2.5.1.jar org.codehaus.classworlds.Launcher -DinteractiveMode=false -DgroupId=demo -DartifactId=service -Dversion=1.0-SNAPSHOT -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=RELEASE org.apache.maven.plugins:maven-archetype-plugin:RELEASE:generate
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
根目錄下的pom.xml檔案裡面自動生成:
各個模組中的pom.xml內容大約是:
在找裡面配置下載各個依賴jar包就可以了,這樣就可以聯合開發了。與github一起使用,就像在企業裡面團體開發一模一樣了。
在主pom.xml檔案裡面配置統一的jar包,分專案配置pom.xml就不用指定版本號了,直接引用就可以。
這個標籤是:dependencyManagement
如:
<?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>apollo</groupId>
<artifactId>apollo</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>apollo.authority.dao</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<type>jar</type>
<scope>test</scope>
</dependency>
<!--<dependency>-->
<!--<groupId>org.hamcrest</groupId>-->
<!--<artifactId>hamcrest-all</artifactId>-->
<!--<version>1.3</version>-->
<!--<type>jar</type>-->
<!--<scope>test</scope>-->
<!--</dependency>-->
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2.1-b03</version>
<scope>provided</scope>
</dependency>
<!-- fastJson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.24</version>
</dependency>
<!-- mysql資料庫驅動 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
<!--sql server資料庫驅動-->
<dependency> <groupId>net.sourceforge.jtds</groupId> <artifactId>jtds</artifactId> <version>1.2.4</version> </dependency>
<!--oracle資料庫驅動-->
<!--<dependency>-->
<!--<groupId>com.oracle</groupId>-->
<!--<artifactId>ojdbc14</artifactId>-->
<!--<version>10.2.0.4.0</version>-->
<!--</dependency>-->
<!-- druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>0.2.8</version>
</dependency>
<!-- aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.7.0</version>
</dependency>
<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!-- log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<!-- struts2 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.16.3</version>
<exclusions>
<exclusion>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.16.3</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>2.3.16.3</version>
</dependency>
<!-- spring3 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<!-- alibaba rocketmq -->
<dependency>
<groupId>com.alibaba.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>com.alibaba.rocketmq</groupId>
<artifactId>rocketmq-common</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>com.alibaba.rocketmq</groupId>
<artifactId>rocketmq-remoting</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>5.0.0.Alpha1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<!-- for test start -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>20030825.184428</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.test4j</groupId>
<artifactId>test4j.testng</artifactId>
<version>2.0.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.test4j</groupId>
<artifactId>test4j.integrated</artifactId>
<version>2.0.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.test4j</groupId>
<artifactId>test4j.spec</artifactId>
<version>2.0.6</version>
<scope>test</scope>
</dependency>
<!-- for test end -->
<!--alibaba dubbo -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
<exclusions>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
<dependency>
<groupId>com.netflix.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>1.1.16</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>3.4</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
在分模組裡面的pom.xml就可以這樣寫:
<?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">
<parent>
<artifactId>apollo</artifactId>
<groupId>apollo</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>apollo.authority.dao</artifactId>
<!--<name>authority.dao</name>-->
<!--<packaging>jar</packaging>-->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
</dependency>
<!-- for test start -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.test4j</groupId>
<artifactId>test4j.testng</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.test4j</groupId>
<artifactId>test4j.integrated</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.test4j</groupId>
<artifactId>test4j.spec</artifactId>
<scope>test</scope>
</dependency>
<!-- for test end -->
</dependencies>
</project>
在intellij裡面
主pom.xml左邊有向下的箭頭,點選就能進入分pom.xml裡面的配置了
而分pom.xml裡面有向上的箭頭,點選可以跳轉到主pom.xml。
都配置完後,以前下載過的jar包不會自動下載,此時就點選右邊的maven面板,展開功能。雙擊根目錄下的“install”。就會引用jar包。
在最下面會出現“Dependencies”。展開也能看到依賴的jar包。
專案目錄那邊也能看到:
相關推薦
intellij用maven來建立多模組專案
Maven 與 IntelliJ IDEA 的完美結合 可以先看看這個帖子,用intellij來maven構建多模組工程還是有很多好處的。 IntelliJ IDEA借鑑的Maven的概念,不在採取Eclipse裡Project的概念,一切都是Module。無論是
用maven來建立scala和java專案程式碼環境(圖文詳解)(Intellij IDEA(Ultimate版本)、Intellij IDEA(Community版本)和Scala IDEA for Eclipse皆適用)(博主推薦)
不多說,直接上乾貨! 為什麼要寫這篇部落格? 首先,對於spark專案,強烈建議搭建,用Intellij IDEA(Ultimate版本),如果你還有另所愛好嘗試Scala IDEA for Eclipse,有時間自己去玩玩。但最好追隨大流。 對於hadoop專案,強烈建議用
Spring Boot2企業版快速開發平臺ALBase(2): 使用Maven建立多模組專案
系統模組劃分 Maven多模組專案,適用於一些比較大的專案,通過合理的模組拆分,實現程式碼的複用,便於維護和管理。尤其是一些開源框架,也是採用多模組的方式,提供外掛整合,使用者可以根據需要配置指定的模組。 專案結構如下: albase (父
基於maven使用IDEA建立多模組專案
鑑於最近學習一個分散式專案的開發,講一下關於使用IntelliJ IDEA基於Maven建立多模組專案的實際開發,可能有不合適的地方,但是專案是可以跑通的,也請有不足之處,都提出來,一起討論下。 一. 專案工程目錄 首先展示一下,最終整個專案的工程目錄
idea Maven建立多模組專案(之單元測試)
前面兩篇已經建立好子模組,且各自關聯起來,接下來進行單元測試在idea中引入單元測試junit非常方便;選中類名右擊--->goto---->Test---->create new test;如圖:選擇需要的junit jar包,如圖:點選OK完成,然後ma
Scala IDEA for Eclipse裡用maven來建立scala和java專案程式碼環境(圖文詳解)
這篇部落格 是在Scala IDEA for Eclipse裡手動建立scala程式碼編寫環境。 本博文,教大家,用maven來建立。 第一步:安裝scala外掛 因為,我win7下的scala環境是2.10.4 所以,選擇下載的
Maven實戰:用maven來建立專案(用已有專案模板來建立專案)
Maven的作用:在曾經的一次面試中,曾經被問到一個問題,maven是個什麼東東。 它的主要主要作用在於:1.構建專案;2.管理依賴;3.管理專案資訊 Maven構建專案:maven構建專案的命令:mvn archetype:generate 當執行這個命
46、Maven建立多模組專案(多個war,2017版Eclipse Neon.2)
執行環境: 2017年3月 Eclipse Neon.2 Apache Maven 3.3.9 jdk1.8 注意,此文跟網上所有的建立maven專案有所不同, 就是都會勾選 create a simple project,網上的都是不勾選的。下面就不額外提出了。 首先
idea使用maven-archetype-webapp建立多模組專案無java資料夾和resources資料夾
1.原始專案結構圖 2.建立新的子專案,右鍵model->new model,選中create from archetype 3.填寫專案相關資訊 4.系統根據模板生成相應的資料夾 5.觀察圖片發現缺少java和resources資
idea(二)--idea中建立多模組專案、maven多模組開發
一、idea中建立多模組專案(多工程同時開發) 熟悉eclipse、myeclipse的人都知道,eclipse、myeclipse中都有工作的空間(workspace)的概念,一個workspace中可以建立多個project,即可同時開啟多個專案進行開發。然而,遺憾的是
利用springboot建立多模組專案
本文旨在用最通俗的語言講述最枯燥的基本知識 最近要對一個不大不小的專案進行重構,用spring覺得太過於繁瑣,用cloud又有覺得過於龐大,維護的人手不夠;權衡之下,最終選了springboot作為架子,但是因為專案涉及的業務模組較多,各個模組之間的業務交流不是很多,相對獨立,因此想著把專案做成多模組
IDEA springboot 建立多模組專案,打包
原始碼:https://gitee.com/DencyCheng/springboot-multiModule/tree/dev 1.專案結構 2.專案依賴關係 multi-module :外層專案 model:實體類 persistence:持久化物件 web:控
Maven進行springBoot多模組專案搭建
本文章旨在說明搭建springBoot多模組專案構建存在的一些問題以及如何改正!一、在eclipse下搭建Maven專案 eclipse以及Maven的安裝省略。新建Maven專案:1點選【new】-->【Maven Project】按照步驟新建Maven專案,專案名
gradle建立多模組專案
第一種方式視覺化的:使用eclipse建立多模組專案示例 新建子專案 按嚮導新建專案gradleFirst 按嚮導新建專案gradleSecond(過程略) 按嚮導新建專案gradleParent(過程略) 完整的專案列表結構如下
Maven工程的多模組專案、專案與專案之間的引用
一個大專案需要一個團隊來完成,然後一個大型專案就拆分成幾塊來同時開發,節省時間,提高效率. 大致分為以下幾個模組(僅是自身經歷): |—依賴管理工程模組:一般現在開發都是以maven來管理jar包,方便.所以整個工程的依賴統一放在一個單獨工程中,一
spring boot建立多模組專案
1:先建立一個聚合工程parent<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc
二、構建maven子專案(多模組專案)
這是接著 1、右鍵父專案New-->Model,把Create from archetype打上√,選著maven-archetype-quickstart,然後點選Next 2、填上
maven搭建springboot多模組專案
如果是正常建立一個獨立的springboot專案,ide正常會自動建立一個啟動類。但是如果我們是採用maven來搭建專案,採用模組化建立專案工程,那麼這個啟動類就需要我們自己建立了。一、如何採用maven搭建多模組springboot專案cms1、建立一個maven專案cms
maven 單獨構建多模組專案中的單個模組
最近在公司的一個專案裡用到了maven的多模組,由於專案比較大,每次修改後構建整個工程耗時太久,需要單獨構建某個模組,mvn有支援的選項: -pl, --projects Build specified reactor projects instead
IntelliJ IDEA中建立Web聚合專案(Maven多模組專案)
Eclipse用多了,IntelliJ中建立Maven聚合專案可能有小夥伴還不太熟悉,我們今天就來看看。 IntelliJ中建立普通的Java聚合專案相對來說比較容易,不會涉及到web操作,涉及到web的話會有一點點麻煩。我們來一步一步看下。 環境:In