intellij用maven来创建多模块项目
版权声明:本文为博主原创文章,未经博主允许不得转载。
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