在平时的项目开发中为了便于后期的维护,我们一般会进行分模块开发,最常见的就是分为
domain
(实体域模块)、dao
(数据库访问层模块)、service
(业务逻辑模块)、web
(视图模块),这样分模块划分之后,各个模块之间的职责会比较明确,后期维护起来也相对比较容易,下面就说说在Eclipse
中如何使用Maven
来构建一个多模块项目。
一. 创建一个父项目
NEW -->project-->maven-->maven Project
,点击下一步,进入new maven Project
的Select project name and location
界面,如下图所示:
直接下一步到Select an Archetype
界面,如下图所示:
在这个界面中选择maven-Archetype-site-simple
,然后选择下一步,进入选择Enter a group id for the artifact
的界面,如下图所示:
在group Id
和artifact Id
中输入你的group
和artifact
名称。我用的分别是org.light4j
和maven-parent
,选择完成。这时会在Eclipse
中生成一个项目,项目名是maven-parent
,此时maven-parent
的pom.xml
内容如下所示:
<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>org.light4j</groupId>
<artifactId>maven-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<distributionManagement>
<site>
<id>website</id>
<url>scp://webhost.company.com/www/website</url>
</site>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
二. 创建子项目
2.1 将项目maven-parent
中的src
文件夹删除,只保留pom.xml
(主要看个人需要,可有可无,不影响)。
2.2 选中项目maven-parent
,点击右键,选择NEW -->project-->maven-->maven Module
,如下图所示
点击下一步,在出现的界面中输入子模块的名称maven-A
,如下图所示:
点击下一步,出现Select an Archetype
界面。这时选择maven-Archetype-site-quickStart
或者maven-Archetype-webapp
(构建web
层时使用),如下图所示:
然后选择Finish
,即生成子项目maven-A
。
这时maven-parent
的pom.xml
文件如下面所示(多了个modules
标签和里面子标签的内容):
<?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>org.light4j</groupId>
<artifactId>maven-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<distributionManagement>
<site>
<id>website</id>
<url>scp://webhost.company.com/www/website</url>
</site>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>maven-A</module>
</modules>
</project>
这时构建maven-parent
的子项目完成,构建其他的子项目和此类似。在构建第二个子项目maven-B
时可能在maven-parent
中没有及时出现,这时只要刷新下maven-parent
就可以了。
三. 总结
其实在构建多模块的项目时,父项目的类型可以是任意的类型。对于这些非常规类型的项目,如果想要成为父项目,需要做如下一些改动:
1.将
pom.xml
文件中的<packaging>jar</packaging>
改为<packaging>pom</packaging>
,若不换为pom
则在打包的时候父项目会产生一个target
文件;如果没有<packaging>pom</packaging>
的可以在<version>0.0.1-SNAPSHOT</version>
后面添加上这句话即可。2.删除除
pom.xml
外的所有文件,其中JRE System Library
是不能直接删除的,需要选择中,并单击右键Bulid Path-->Remove from bilud path
即可移除。
其实能否在一个项目下创建子模块,主要取决于是否有<packaging>pom</packaging>
这个配置。如果有这个配置则任何项目都可以创建子模块,maven
在判断一个项目是否可以创建子模块其实是取决于这个配置的。
公众号ID:longjiazuoA

未经允许不得转载:人生设计师 » Eclipse中使用maven构建多模块项目