版權聲明:本文爲博主原創文章,未經博主允許不得轉載。
Maven 與 IntelliJ IDEA 的完美結合
http://www.cr173.com/html/7116_1.html
可以先看看這個帖子,用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<span class="tag" style="color: rgb(153, 51, 0); margin: 0px; padding: 0px; border: n