Maven进修 (六) 搭建多模块企业级项目
添加时间:2013-5-28 点击量:
起首,前面几次进修已经学会了安装maven,如何创建maven项目等,比来的进修,终于有点进展了,搭建一下企业级多模块项目。
好了,空话不久不多说,具体如下:
起首新建一个maven项目,pom.xml的文件如下:
搭建多模块项目,必必要有一个packaging为pom的根目次。创建好这个maven项目后,我们对着项目右键-->new
输入你的项目名称
这里就不反复说创建项目了,创建好的目次布局在eclipse中如下:
申明一下这些项目具体都是干嘛的:
easyframework-model:数据模型,与数据库表字段对应的实体类
easyframework-core:核心营业项目。主如果Service处理惩罚营业逻辑
easyframework-persist:数据持久层,操纵低层数据库。
easyframework-utils:对象类,所有对象类都提取出来写在这个项目中。
easyframework-web :这个就是全部项目标web层了,页面的显示以及把握层
备注:创建这些项目标时辰,只有easyframework-web是web项目即maven的:maven-archetype-webapp,其他的都是java项目:maven-archetype-quicktart
打开easyframework-root的pom.xml文件,你会看到模块化是如许的:
接下来是设备各个模块的依附关系,我小我认为的项目是如许依附的,不知道对不合错误,呵呵....
举个例子easyframework-web这个项目依附easyframework-core(营业核心)和easyframework-model(实体类),easyframework-utils(公共的对象类)这个三个模块。
那么在怎么在easyframework-web的pom.xml中表现呢,具体如下:
打开项目标maven依附你会发明,已经依附了这三个项目
然则你应当会感触感染到新鲜,为什么会有那么jar包,明明只引用了这三个项目,哪来的那么多jar包。
你会发明,我再pom.xml文件中,有个parent节点,持续了根节点的pom,这就是maven的项目持续依附,会从父POM中持续一些值。这对构建一个大型的体系来说很有须要
如许的话你就不须要一遍又一遍的反复添加同样的依附元素,当然,若是你在子项目中也有同样的依附,则会覆盖父POM中的值。
父POM的的依附如下:
1 <project xmlns=http://maven.apache.org/POM/4.0.0 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
2 xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd>
3 <modelVersion>4.0.0</modelVersion>
4 <groupId>com.easyframework</groupId>
5 <artifactId>easyframework-root</artifactId>
6 <packaging>pom</packaging>
7 <version>1.0</version>
8 <name>easyframework-root</name>
9 <url>http://maven.apache.org</url>
10 <modules>
11 <module>easyframework-web</module>
12 <module>easyframework-persist</module>
13 <module>easyframework-core</module>
14 <module>easyframework-utils</module>
15 <module>easyframework-model</module>
16 </modules>
17 <properties>
18 <!--指定Maven用什么编码来读取源码及文档 -->
19 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
20 <!--指定Maven用什么编码来浮现站点的HTML文件 -->
21 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
22 <mysql.version>5.1.25</mysql.version>
23 <hibernate.version>4.2.2.Final</hibernate.version>
24 <spring.version>3.2.3.RELEASE</spring.version>
25 <aspectj.version>1.7.2</aspectj.version>
26 </properties>
27 <repositories>
28 <repository>
29 <id>springsource-repo</id>
30 <name>SpringSource Repository</name>
31 <url>http://repo.springsource.org/release</url>
32 </repository>
33 </repositories>
34 <dependencies>
35
36 <!-- log4j -->
37 <dependency>
38 <groupId>log4j</groupId>
39 <artifactId>log4j</artifactId>
40 <version>1.2.17</version>
41 </dependency>
42 <!-- junit -->
43 <dependency>
44 <groupId>junit</groupId>
45 <artifactId>junit</artifactId>
46 <version>4.11</version>
47 <scope>test</scope>
48 </dependency>
49 <!-- mysql数据库驱动 -->
50 <dependency>
51 <groupId>mysql</groupId>
52 <artifactId>mysql-connector-java</artifactId>
53 <version>¥{mysql.version}</version>
54 </dependency>
55 <!-- hibernate4 -->
56 <dependency>
57 <groupId>org.hibernate</groupId>
58 <artifactId>hibernate-core</artifactId>
59 <version>¥{hibernate.version}</version>
60 </dependency>
61 <!-- aspectjweaver -->
62 <dependency>
63 <groupId>org.aspectj</groupId>
64 <artifactId>aspectjweaver</artifactId>
65 <version>¥{aspectj.version}</version>
66 </dependency>
67 <!-- spring3 -->
68 <dependency>
69 <groupId>org.springframework</groupId>
70 <artifactId>spring-core</artifactId>
71 <version>¥{spring.version}</version>
72 </dependency>
73 <dependency>
74 <groupId>org.springframework</groupId>
75 <artifactId>spring-context</artifactId>
76 <version>¥{spring.version}</version>
77 </dependency>
78 <dependency>
79 <groupId>org.springframework</groupId>
80 <artifactId>spring-jdbc</artifactId>
81 <version>¥{spring.version}</version>
82 </dependency>
83 <dependency>
84 <groupId>org.springframework</groupId>
85 <artifactId>spring-beans</artifactId>
86 <version>¥{spring.version}</version>
87 </dependency>
88 <dependency>
89 <groupId>org.springframework</groupId>
90 <artifactId>spring-web</artifactId>
91 <version>¥{spring.version}</version>
92 </dependency>
93 <dependency>
94 <groupId>org.springframework</groupId>
95 <artifactId>spring-expression</artifactId>
96 <version>¥{spring.version}</version>
97 </dependency>
98 <dependency>
99 <groupId>org.springframework</groupId>
100 <artifactId>spring-orm</artifactId>
101 <version>¥{spring.version}</version>
102 </dependency>
103 </dependencies>
104 <build>
105 <finalName>easyframework-root</finalName>
106 <plugins>
107 <plugin>
108 <artifactId>maven-compiler-plugin</artifactId>
109 <configuration>
110 <source>1.6</source>
111 <target>1.6</target>
112 </configuration>
113 </plugin>
114 </plugins>
115 </build>
116 </project>
当然这个父POM只是一个例子,你可以按照本身的设备添加相干的依附,这里给一个我认为是好用的仓库:
http://mvnrepository.com/ 信赖地球人都知道这个!哈哈.....
到此就搭建好了企业级多模块的项目景象了。
读书,不要想着实用,更不要有功利心。读书只为了自身的修养。邂逅一本好书如同邂逅一位知己,邂逅一个完美之人。有时心生敬意,有时怦然心动。仿佛你心底埋藏多年的话,作者替你说了出来,你们在时光深处倾心相遇的一瞬间,情投意合,心旷神怡。
起首,前面几次进修已经学会了安装maven,如何创建maven项目等,比来的进修,终于有点进展了,搭建一下企业级多模块项目。
好了,空话不久不多说,具体如下:
起首新建一个maven项目,pom.xml的文件如下:
搭建多模块项目,必必要有一个packaging为pom的根目次。创建好这个maven项目后,我们对着项目右键-->new
输入你的项目名称
这里就不反复说创建项目了,创建好的目次布局在eclipse中如下:
申明一下这些项目具体都是干嘛的:
easyframework-model:数据模型,与数据库表字段对应的实体类
easyframework-core:核心营业项目。主如果Service处理惩罚营业逻辑
easyframework-persist:数据持久层,操纵低层数据库。
easyframework-utils:对象类,所有对象类都提取出来写在这个项目中。
easyframework-web :这个就是全部项目标web层了,页面的显示以及把握层
备注:创建这些项目标时辰,只有easyframework-web是web项目即maven的:maven-archetype-webapp,其他的都是java项目:maven-archetype-quicktart
打开easyframework-root的pom.xml文件,你会看到模块化是如许的:
接下来是设备各个模块的依附关系,我小我认为的项目是如许依附的,不知道对不合错误,呵呵....
举个例子easyframework-web这个项目依附easyframework-core(营业核心)和easyframework-model(实体类),easyframework-utils(公共的对象类)这个三个模块。
那么在怎么在easyframework-web的pom.xml中表现呢,具体如下:
打开项目标maven依附你会发明,已经依附了这三个项目
然则你应当会感触感染到新鲜,为什么会有那么jar包,明明只引用了这三个项目,哪来的那么多jar包。
你会发明,我再pom.xml文件中,有个parent节点,持续了根节点的pom,这就是maven的项目持续依附,会从父POM中持续一些值。这对构建一个大型的体系来说很有须要
如许的话你就不须要一遍又一遍的反复添加同样的依附元素,当然,若是你在子项目中也有同样的依附,则会覆盖父POM中的值。
父POM的的依附如下:
1 <project xmlns=http://maven.apache.org/POM/4.0.0 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
2 xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd>
3 <modelVersion>4.0.0</modelVersion>
4 <groupId>com.easyframework</groupId>
5 <artifactId>easyframework-root</artifactId>
6 <packaging>pom</packaging>
7 <version>1.0</version>
8 <name>easyframework-root</name>
9 <url>http://maven.apache.org</url>
10 <modules>
11 <module>easyframework-web</module>
12 <module>easyframework-persist</module>
13 <module>easyframework-core</module>
14 <module>easyframework-utils</module>
15 <module>easyframework-model</module>
16 </modules>
17 <properties>
18 <!--指定Maven用什么编码来读取源码及文档 -->
19 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
20 <!--指定Maven用什么编码来浮现站点的HTML文件 -->
21 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
22 <mysql.version>5.1.25</mysql.version>
23 <hibernate.version>4.2.2.Final</hibernate.version>
24 <spring.version>3.2.3.RELEASE</spring.version>
25 <aspectj.version>1.7.2</aspectj.version>
26 </properties>
27 <repositories>
28 <repository>
29 <id>springsource-repo</id>
30 <name>SpringSource Repository</name>
31 <url>http://repo.springsource.org/release</url>
32 </repository>
33 </repositories>
34 <dependencies>
35
36 <!-- log4j -->
37 <dependency>
38 <groupId>log4j</groupId>
39 <artifactId>log4j</artifactId>
40 <version>1.2.17</version>
41 </dependency>
42 <!-- junit -->
43 <dependency>
44 <groupId>junit</groupId>
45 <artifactId>junit</artifactId>
46 <version>4.11</version>
47 <scope>test</scope>
48 </dependency>
49 <!-- mysql数据库驱动 -->
50 <dependency>
51 <groupId>mysql</groupId>
52 <artifactId>mysql-connector-java</artifactId>
53 <version>¥{mysql.version}</version>
54 </dependency>
55 <!-- hibernate4 -->
56 <dependency>
57 <groupId>org.hibernate</groupId>
58 <artifactId>hibernate-core</artifactId>
59 <version>¥{hibernate.version}</version>
60 </dependency>
61 <!-- aspectjweaver -->
62 <dependency>
63 <groupId>org.aspectj</groupId>
64 <artifactId>aspectjweaver</artifactId>
65 <version>¥{aspectj.version}</version>
66 </dependency>
67 <!-- spring3 -->
68 <dependency>
69 <groupId>org.springframework</groupId>
70 <artifactId>spring-core</artifactId>
71 <version>¥{spring.version}</version>
72 </dependency>
73 <dependency>
74 <groupId>org.springframework</groupId>
75 <artifactId>spring-context</artifactId>
76 <version>¥{spring.version}</version>
77 </dependency>
78 <dependency>
79 <groupId>org.springframework</groupId>
80 <artifactId>spring-jdbc</artifactId>
81 <version>¥{spring.version}</version>
82 </dependency>
83 <dependency>
84 <groupId>org.springframework</groupId>
85 <artifactId>spring-beans</artifactId>
86 <version>¥{spring.version}</version>
87 </dependency>
88 <dependency>
89 <groupId>org.springframework</groupId>
90 <artifactId>spring-web</artifactId>
91 <version>¥{spring.version}</version>
92 </dependency>
93 <dependency>
94 <groupId>org.springframework</groupId>
95 <artifactId>spring-expression</artifactId>
96 <version>¥{spring.version}</version>
97 </dependency>
98 <dependency>
99 <groupId>org.springframework</groupId>
100 <artifactId>spring-orm</artifactId>
101 <version>¥{spring.version}</version>
102 </dependency>
103 </dependencies>
104 <build>
105 <finalName>easyframework-root</finalName>
106 <plugins>
107 <plugin>
108 <artifactId>maven-compiler-plugin</artifactId>
109 <configuration>
110 <source>1.6</source>
111 <target>1.6</target>
112 </configuration>
113 </plugin>
114 </plugins>
115 </build>
116 </project>
当然这个父POM只是一个例子,你可以按照本身的设备添加相干的依附,这里给一个我认为是好用的仓库:
http://mvnrepository.com/ 信赖地球人都知道这个!哈哈.....
到此就搭建好了企业级多模块的项目景象了。
读书,不要想着实用,更不要有功利心。读书只为了自身的修养。邂逅一本好书如同邂逅一位知己,邂逅一个完美之人。有时心生敬意,有时怦然心动。仿佛你心底埋藏多年的话,作者替你说了出来,你们在时光深处倾心相遇的一瞬间,情投意合,心旷神怡。