使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化
一、创建一个空的项目作为存放整个项目的路径
1、选择 File——>new——>Project ——>Empty Project
2、WorkspaceforTest为项目存放文件夹。
二、maven继承:创建父-子项目,聚合工程
比如整个项目。以一个项目来演示。
|--e3-parent:父工程,打包方式pom,管理jar包的版本号。项目中所有工程都应该继承父工程。
|--e3-common:通用的工具类通用的pojo。打包方式jar
|--e3-manager:服务层工程。聚合工程。Pom工程
|--e3-manager-dao:打包方式jar
|--e3-manager-pojo:打包方式jar
|--e3-manager-interface:打包方式jar
|--e3-manager-service:打包方式:jar
|--e3-manager-web:表现层工程。打包方式war
1、创建maven父工程 e3-parent
File——>New ——>Module.. ——>Maven
2、GroupId一般为公司域名倒过来写。ArtifactId写工程名字。
3、Maven home directory 在这里我选择自己安装的maven,还有User settings file 选择好本地仓库。
4、注意下e3-parent的项目路径,在WorkspaceforTest下面。
5、在e3-parent的pom.xml文件下添加<packaging>pom</packaging>,e3-parent是打成pom文件的。
6、就可以pom文件添加各种依赖了。在这里我的e3-parent的pom.xml文件如下。
e3-parent的pom.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>e3.mall</groupId> 8 <artifactId>e3-parent</artifactId> 9 <version>1.0-SNAPSHOT</version> 10 11 <name>e3-parent</name> 12 <packaging>pom</packaging> 13 <!-- 集中定义依赖版本号 --> 14 <properties> 15 <junit.version>4.12</junit.version> 16 <spring.version>4.2.4.RELEASE</spring.version> 17 <mybatis.version>3.2.8</mybatis.version> 18 <mybatis.spring.version>1.2.2</mybatis.spring.version> 19 <mybatis.paginator.version>1.2.15</mybatis.paginator.version> 20 <mysql.version>5.1.46</mysql.version> 21 <slf4j.version>1.6.4</slf4j.version> 22 <jackson.version>2.4.2</jackson.version> 23 <druid.version>1.0.9</druid.version> 24 <httpclient.version>4.3.5</httpclient.version> 25 <jstl.version>1.2</jstl.version> 26 <servlet-api.version>2.5</servlet-api.version> 27 <jsp-api.version>2.0</jsp-api.version> 28 <joda-time.version>2.5</joda-time.version> 29 <commons-lang3.version>3.3.2</commons-lang3.version> 30 <commons-io.version>1.3.2</commons-io.version> 31 <commons-net.version>3.3</commons-net.version> 32 <pagehelper.version>3.4.2-fix</pagehelper.version> 33 <jsqlparser.version>0.9.1</jsqlparser.version> 34 <commons-fileupload.version>1.3.1</commons-fileupload.version> 35 <jedis.version>2.7.2</jedis.version> 36 <solrj.version>4.10.3</solrj.version> 37 <dubbo.version>2.5.3</dubbo.version> 38 <zookeeper.version>3.4.7</zookeeper.version> 39 <zkclient.version>0.1</zkclient.version> 40 <activemq.version>5.11.2</activemq.version> 41 <freemarker.version>2.3.23</freemarker.version> 42 <quartz.version>2.2.2</quartz.version> 43 </properties> 44 <dependencyManagement> 45 <dependencies> 46 <!-- 时间操作组件 --> 47 <dependency> 48 <groupId>joda-time</groupId> 49 <artifactId>joda-time</artifactId> 50 <version>${joda-time.version}</version> 51 </dependency> 52 <!-- Apache工具组件 --> 53 <dependency> 54 <groupId>org.apache.commons</groupId> 55 <artifactId>commons-lang3</artifactId> 56 <version>${commons-lang3.version}</version> 57 </dependency> 58 <dependency> 59 <groupId>org.apache.commons</groupId> 60 <artifactId>commons-io</artifactId> 61 <version>${commons-io.version}</version> 62 </dependency> 63 <dependency> 64 <groupId>commons-net</groupId> 65 <artifactId>commons-net</artifactId> 66 <version>${commons-net.version}</version> 67 </dependency> 68 <!-- Jackson Json处理工具包 --> 69 <dependency> 70 <groupId>com.fasterxml.jackson.core</groupId> 71 <artifactId>jackson-databind</artifactId> 72 <version>${jackson.version}</version> 73 </dependency> 74 <!-- httpclient --> 75 <dependency> 76 <groupId>org.apache.httpcomponents</groupId> 77 <artifactId>httpclient</artifactId> 78 <version>${httpclient.version}</version> 79 </dependency> 80 <!-- quartz任务调度框架 --> 81 <dependency> 82 <groupId>org.quartz-scheduler</groupId> 83 <artifactId>quartz</artifactId> 84 <version>${quartz.version}</version> 85 </dependency> 86 <!-- 单元测试 --> 87 <dependency> 88 <groupId>junit</groupId> 89 <artifactId>junit</artifactId> 90 <version>${junit.version}</version> 91 <scope>test</scope> 92 </dependency> 93 <!-- 日志处理 --> 94 <dependency> 95 <groupId>org.slf4j</groupId> 96 <artifactId>slf4j-log4j12</artifactId> 97 <version>${slf4j.version}</version> 98 </dependency> 99 <!-- Mybatis --> 100 <dependency> 101 <groupId>org.mybatis</groupId> 102 <artifactId>mybatis</artifactId> 103 <version>${mybatis.version}</version> 104 </dependency> 105 <dependency> 106 <groupId>org.mybatis</groupId> 107 <artifactId>mybatis-spring</artifactId> 108 <version>${mybatis.spring.version}</version> 109 </dependency> 110 <dependency> 111 <groupId>com.github.miemiedev</groupId> 112 <artifactId>mybatis-paginator</artifactId> 113 <version>${mybatis.paginator.version}</version> 114 </dependency> 115 <dependency> 116 <groupId>com.github.pagehelper</groupId> 117 <artifactId>pagehelper</artifactId> 118 <version>${pagehelper.version}</version> 119 </dependency> 120 <!-- MySql --> 121 <dependency> 122 <groupId>mysql</groupId> 123 <artifactId>mysql-connector-java</artifactId> 124 <version>${mysql.version}</version> 125 </dependency> 126 <!-- 连接池 --> 127 <dependency> 128 <groupId>com.alibaba</groupId> 129 <artifactId>druid</artifactId> 130 <version>${druid.version}</version> 131 </dependency> 132 <!-- Spring --> 133 <dependency> 134 <groupId>org.springframework</groupId> 135 <artifactId>spring-context</artifactId> 136 <version>${spring.version}</version> 137 </dependency> 138 <dependency> 139 <groupId>org.springframework</groupId> 140 <artifactId>spring-beans</artifactId> 141 <version>${spring.version}</version> 142 </dependency> 143 <dependency> 144 <groupId>org.springframework</groupId> 145 <artifactId>spring-webmvc</artifactId> 146 <version>${spring.version}</version> 147 </dependency> 148 <dependency> 149 <groupId>org.springframework</groupId> 150 <artifactId>spring-jdbc</artifactId> 151 <version>${spring.version}</version> 152 </dependency> 153 <dependency> 154 <groupId>org.springframework</groupId> 155 <artifactId>spring-aspects</artifactId> 156 <version>${spring.version}</version> 157 </dependency> 158 <dependency> 159 <groupId>org.springframework</groupId> 160 <artifactId>spring-jms</artifactId> 161 <version>${spring.version}</version> 162 </dependency> 163 <dependency> 164 <groupId>org.springframework</groupId> 165 <artifactId>spring-context-support</artifactId> 166 <version>${spring.version}</version> 167 </dependency> 168 <!-- JSP相关 --> 169 <dependency> 170 <groupId>jstl</groupId> 171 <artifactId>jstl</artifactId> 172 <version>${jstl.version}</version> 173 </dependency> 174 <dependency> 175 <groupId>javax.servlet</groupId> 176 <artifactId>servlet-api</artifactId> 177 <version>${servlet-api.version}</version> 178 <scope>provided</scope> 179 </dependency> 180 <dependency> 181 <groupId>javax.servlet</groupId> 182 <artifactId>jsp-api</artifactId> 183 <version>${jsp-api.version}</version> 184 <scope>provided</scope> 185 </dependency> 186 <!-- 文件上传组件 --> 187 <dependency> 188 <groupId>commons-fileupload</groupId> 189 <artifactId>commons-fileupload</artifactId> 190 <version>${commons-fileupload.version}</version> 191 </dependency> 192 <!-- Redis客户端 --> 193 <dependency> 194 <groupId>redis.clients</groupId> 195 <artifactId>jedis</artifactId> 196 <version>${jedis.version}</version> 197 </dependency> 198 <!-- solr客户端 --> 199 <dependency> 200 <groupId>org.apache.solr</groupId> 201 <artifactId>solr-solrj</artifactId> 202 <version>${solrj.version}</version> 203 </dependency> 204 <!-- dubbo相关 --> 205 <dependency> 206 <groupId>com.alibaba</groupId> 207 <artifactId>dubbo</artifactId> 208 <version>${dubbo.version}</version> 209 </dependency> 210 <dependency> 211 <groupId>org.apache.zookeeper</groupId> 212 <artifactId>zookeeper</artifactId> 213 <version>${zookeeper.version}</version> 214 </dependency> 215 <dependency> 216 <groupId>com.github.sgroschupf</groupId> 217 <artifactId>zkclient</artifactId> 218 <version>${zkclient.version}</version> 219 </dependency> 220 <dependency> 221 <groupId>org.apache.activemq</groupId> 222 <artifactId>activemq-all</artifactId> 223 <version>${activemq.version}</version> 224 </dependency> 225 <dependency> 226 <groupId>org.freemarker</groupId> 227 <artifactId>freemarker</artifactId> 228 <version>${freemarker.version}</version> 229 </dependency> 230 231 </dependencies> 232 </dependencyManagement> 233 234 <build> 235 <finalName>${project.artifactId}</finalName> 236 <plugins> 237 <!-- 资源文件拷贝插件 --> 238 <plugin> 239 <groupId>org.apache.maven.plugins</groupId> 240 <artifactId>maven-resources-plugin</artifactId> 241 <version>2.7</version> 242 <configuration> 243 <encoding>UTF-8</encoding> 244 </configuration> 245 </plugin> 246 <!-- java编译插件 --> 247 <plugin> 248 <groupId>org.apache.maven.plugins</groupId> 249 <artifactId>maven-compiler-plugin</artifactId> 250 <version>3.2</version> 251 <configuration> 252 <source>1.7</source> 253 <target>1.7</target> 254 <encoding>UTF-8</encoding> 255 </configuration> 256 </plugin> 257 </plugins> 258 <pluginManagement> 259 <plugins> 260 <!-- 配置Tomcat插件 --> 261 <plugin> 262 <groupId>org.apache.tomcat.maven</groupId> 263 <artifactId>tomcat7-maven-plugin</artifactId> 264 <version>2.2</version> 265 </plugin> 266 </plugins> 267 </pluginManagement> 268 </build> 269 270 </project>
7、创建e3-common,e3-common继承父工程parent。而且为了与eclipse下面一样一种好看,common工程的目录也是在WorkspaceforTest目录下,但是是继承了parent工程
File——>New——>module——>Maven
8、common工程也是在WorkspaceforTest目录下的,所以要在Add as module to选项中选择None,如下图所示
9、Parent 中选择继承的父工程e3-parent,如下图所示,再写好ArtifactId.
10、选择maven,如果没有发生改变,就可以直接下一步。
11、注意一下路径,是在WorkspaceforTest下面。
12、再在pom.xml下面添加<packaging>jar</packaging>,如下图所示。
在这个项目的pom文件如下代码所示。
e3-common的 pom.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <parent> 6 <artifactId>e3-parent</artifactId> 7 <groupId>e3.mall</groupId> 8 <version>1.0-SNAPSHOT</version> 9 <relativePath>../e3-parent/pom.xml</relativePath> 10 </parent> 11 <modelVersion>4.0.0</modelVersion> 12 13 <artifactId>e3-common</artifactId> 14 <packaging>jar</packaging> 15 16 <name>e3-common</name> 17 <dependencies> 18 <!-- 时间操作组件 --> 19 <dependency> 20 <groupId>joda-time</groupId> 21 <artifactId>joda-time</artifactId> 22 </dependency> 23 <!-- Apache工具组件 --> 24 <dependency> 25 <groupId>org.apache.commons</groupId> 26 <artifactId>commons-lang3</artifactId> 27 </dependency> 28 <dependency> 29 <groupId>org.apache.commons</groupId> 30 <artifactId>commons-io</artifactId> 31 </dependency> 32 <dependency> 33 <groupId>commons-net</groupId> 34 <artifactId>commons-net</artifactId> 35 </dependency> 36 <!-- Jackson Json处理工具包 --> 37 <dependency> 38 <groupId>com.fasterxml.jackson.core</groupId> 39 <artifactId>jackson-databind</artifactId> 40 </dependency> 41 <!-- httpclient --> 42 <dependency> 43 <groupId>org.apache.httpcomponents</groupId> 44 <artifactId>httpclient</artifactId> 45 </dependency> 46 <!-- quartz任务调度框架 --> 47 <dependency> 48 <groupId>org.quartz-scheduler</groupId> 49 <artifactId>quartz</artifactId> 50 </dependency> 51 <!-- 单元测试 --> 52 <dependency> 53 <groupId>junit</groupId> 54 <artifactId>junit</artifactId> 55 <scope>test</scope> 56 </dependency> 57 <!-- 日志处理 --> 58 <dependency> 59 <groupId>org.slf4j</groupId> 60 <artifactId>slf4j-log4j12</artifactId> 61 </dependency> 62 </dependencies> 63 64 </project>