`

eclipse maven建立多模块工程

 
阅读更多

在工作的时候,大多时候都是用Maven来管理项目,可是一般我们都知道怎么用maven管理工程,却不知道通过Maven自己来建立多模块工程。于是自己抽时间,在网上找些资料,做了起来。

 

建立简单的Maven模块结构是这样的:

---- mv-parent

             |-- pom.xml (pom)

             |

             |-- mv-xml

             |        |-- pom.xml (jar)

             |

             |-- mv-lib

             |        |-- pom.xml (jar)

             |

             |-- mv-core

             |        |-- pom.xml (jar)

             |

             |-- mv-web

                      |-- pom.xml (war)   

 

项目工程的依赖关系:mv-core依赖mv-lib,mv-xml;mv-web依赖mv-lib,mv-xm,mv-core

 



 

建立整个项目的步骤如下:

1.建立mv-parent工程

new->other->maven->maven project。

注意选择create a simple project


 

packaging 选择类型pom.



 

建立完成后,得到项目:



得到 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.com.dk</groupId>
  <artifactId>mv-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
</project>

 

2.建立mv-lib工程.主要用来存放项目jar

new->other->maven->maven Module.

选择module工程



 

 



 

这个mv-lib工程完成,得到



 

 

pom.xml.我把commons-lang.jar放进去,作为测试:

<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<artifactId>mv-parent</artifactId>
		<groupId>org.com.dk</groupId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<groupId>org.com.dk</groupId>
	<artifactId>mv-lib</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>mv-lib</name>
	<url>http://maven.apache.org</url>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.4</version>
		</dependency>
	</dependencies>
</project>

 

 

3.建立mv-xml工程.主要用来存放项目配置文件

new->other->maven->maven Module.

选择module工程


 



 



得到mv-xml工程。

pom.xml:

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>mv-parent</artifactId>
    <groupId>org.com.dk</groupId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>org.com.dk</groupId>
  <artifactId>mv-xml</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>mv-xml</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

 

4.建立mv-core工程.主要用来存项目业务代码

new->other->maven->maven Module.

选择module工程



 



 项目完成。不过要注意mv-core依赖mv-lib,mv-xml。这个需要在pom.xml配置(标红

如下:

<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<artifactId>mv-parent</artifactId>
		<groupId>org.com.dk</groupId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<groupId>org.com.dk</groupId>
	<artifactId>mv-core</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>mv-core</name>
	<url>http://maven.apache.org</url>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.com.dk</groupId>
			<artifactId>mv-lib</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.com.dk</groupId>
			<artifactId>mv-xml</artifactId>
			<version>${project.version}</version>
		</dependency>
	</dependencies>
</project>

5.建立mv-web工程.主要用来项目web

建立web工程,可见我的

http://dk05408.iteye.com/blog/2100525这个比较详细

new->other->maven->maven Module.

选择module工程



 

这一步的选择比较重要:catalog:Internal,下面选择maven-archetype-webapp.如图:



 



 

项目建立后: 右击项目,点击Properties->Project Facets



 



 

得到web工程,得到如图:



 

mv-web依赖mv-lib,mv-xml,mv-core。

pom.xml:

<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<artifactId>mv-parent</artifactId>
		<groupId>org.com.dk</groupId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<groupId>org.com.dk</groupId>
	<artifactId>mv-web</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>mv-web Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.com.dk</groupId>
			<artifactId>mv-lib</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.com.dk</groupId>
			<artifactId>mv-xml</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.com.dk</groupId>
			<artifactId>mv-core</artifactId>
			<version>${project.version}</version>
		</dependency>
	</dependencies>
	<build>
		<finalName>mv-web</finalName>
	</build>
</project>

整个工程完成了

最后可以看下mv-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.com.dk</groupId>
  <artifactId>mv-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
  	<module>mv-lib</module>
  	<module>mv-xml</module>
  	<module>mv-core</module>
  	<module>mv-web</module>
  </modules>
</project>

 你就可以看到mv-parent下面有4个Module。

 

mv-parent进行run-as clean  install。

看到的部分日志:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
There are no tests to run.

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ mv-web ---
[INFO] Packaging webapp
[INFO] Assembling webapp [mv-web] in [F:\java\workspace\mv-parent\mv-web\target\mv-web]
[INFO] Processing war project
[INFO] Copying webapp resources [F:\java\workspace\mv-parent\mv-web\src\main\webapp]
[INFO] Webapp assembled in [200 msecs]
[INFO] Building war: F:\java\workspace\mv-parent\mv-web\target\mv-web.war
[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored 
(webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true')
[INFO] 
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ mv-web ---
[INFO] Installing F:\java\workspace\mv-parent\mv-web\target\mv-web.war to C:\Users\dk\.m2\repository\org\com\dk\mv-web\0.0.1-SNAPSHOT\mv-web-0.0.1-SNAPSHOT.war
[INFO] Installing F:\java\workspace\mv-parent\mv-web\pom.xml to C:\Users\dk\.m2\repository\org\com\dk\mv-web\0.0.1-SNAPSHOT\mv-web-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] mv-parent ......................................... SUCCESS [0.273s]
[INFO] mv-lib ............................................ SUCCESS [1.860s]
[INFO] mv-xml ............................................ SUCCESS [1.017s]
[INFO] mv-core ........................................... SUCCESS [0.986s]
[INFO] mv-web Maven Webapp ............................... SUCCESS [1.665s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.944s
[INFO] Finished at: Sat Aug 09 11:56:38 CST 2014
[INFO] Final Memory: 12M/32M
[INFO] ------------------------------------------------------------------------

 

可以得到最后的工程

mv-parent工程

 

mv-web工程:

 

项目完成。

这样后面你就可以向里面添加jar,xml等,就可以丰富你的工程。



 

 

 

 


 

 

 

 

 

 

1
1
分享到:
评论

相关推荐

    maven多模块项目搭建

    创建一个多模块项目的第一步是建立一个父工程,它的`packaging`类型设置为`pom`。在Eclipse中,通过`New &gt; Other &gt; Maven Project`开始此过程。在配置过程中,选择"Create a simple project",然后填写必要的信息:...

    GeoServer开发手册系列(中文)

    快速入门部分包括了从源代码取出到Maven构建、生成Eclipse工程、导入模块到Eclipse、运行GeoServer和访问首页等步骤。 ### 结语 《GeoServer开发手册系列(中文)》是GeoServer在中国地区推广和应用的重要参考资料...

    基于SpringBoot的Gradle工程

    在子模块之间建立依赖关系,确保构建顺序正确。 4. **运行多模块项目** 通过在主项目的根目录下执行`gradlew bootRun`命令,Gradle会自动处理所有子模块的构建和依赖关系。 **五、持续集成与发布** Gradle支持...

    软件工程软件工程原理方法和工具

    书中可能包括版本控制系统(如Git)、项目管理工具(如JIRA)、自动化构建工具(如Maven)、集成开发环境(如Eclipse或IntelliJ IDEA)、自动化测试框架(如JUnit或Selenium)以及文档生成工具(如Doxygen)等。...

    若依环境使用手册1

    导入RuoYi工程至Eclipse的步骤非常简单。在Eclipse中选择`Import...`,然后选择RuoYi项目,最后点击`Finish`。这样,RuoYi的源代码就会显示在Eclipse的工作区中,你可以开始进行开发。 运行RuoYi系统前,需要进行...

    Java全栈工程师-Maven基础

    大多数现代Java IDE,如Eclipse、IntelliJ IDEA,都集成了Maven支持,使得在IDE内管理Maven项目更加方便。 通过学习Maven的基础知识,Java全栈工程师能更高效地管理项目,提高开发效率,降低维护成本。掌握Maven,...

    若依环境使用手册v1.0.21

    - **配置 Maven**:在 `Window -&gt; Preferences -&gt; Maven -&gt; Installations` 页面设置已安装的 Maven 路径,确保 Eclipse 可以识别并使用 Maven。 - **配置 Maven 仓库路径**:在 `Window -&gt; Preferences -&gt; Maven ...

    康旺 1507050227 银行维修系统后台子系统说明书 电子信息工程1502班 黄健1

    此外,系统支持多模块的maven项目结构,具备良好的扩展性和可维护性。 综上所述,银行维修系统后台子系统是一个综合性的管理工具,涵盖了从维修人员到机构、从订单到库存的全面管理,旨在通过信息化手段提升银行...

    软件工程中的软件工程师技能与素养提升.pptx

    软件工程实践中涉及的工具种类繁多,例如版本控制系统(如Git、SVN)、集成开发环境(如Eclipse、IntelliJ IDEA)、自动化构建工具(如Jenkins、Maven)、测试工具(如JUnit、Selenium)等。掌握这些工具的使用,...

    以工程应用为导向的JAVA教学模式研究 (1).zip

    这包括模块划分、类的设计、接口的定义等,帮助学生建立起面向对象的思维方式。 其次,课程会深入讲解Java核心技术,如异常处理、多线程、网络编程、I/O流、集合框架、数据库操作等。通过这些实践性强的课题,学生...

    学生信息管理系统

    在Eclipse环境中,开发者可以利用JUnit进行单元测试,确保每个模块的功能正确无误。同时,通过Maven或Gradle等构建工具管理项目的依赖,保证所有库文件的正确引入和版本兼容性。 总的来说,“学生信息管理系统”是...

    第一个Spring工程

    对于初学者来说,建立第一个Spring工程是学习和理解这个框架的基础。 在描述中提到的“博文链接:https://hsiunkao.iteye.com/blog/2025194”,这是一个指向特定博客文章的链接,该文章可能详细介绍了创建第一个...

    软件工程实验指导与报告书(完整版)

    这包括但不限于版本控制系统(如Git)、集成开发环境(IDE,如Eclipse或Visual Studio)、构建工具(如Maven或Gradle)等。 3. **国家标准文档参考:** 遵循国家标准文档可以确保软件开发的规范性和一致性,提升软件...

    软件架构实验室+软件工程实训室采购项目竞争性谈判文件【模板】.pdf

    综上,软件架构实验室和软件工程实训室的建立是一个系统性的工程,涉及硬件设备、软件工具、教学资源和管理机制等多个层面。在竞争性谈判文件中,必须全面考虑这些因素,以确保项目能够成功落地,为培养高素质的软件...

    三大框架整合好了的工程,马上可以部署运行

    Spring还提供了大量的模块,如Spring JDBC、Spring ORM、Spring MVC等,可以用于数据库操作、Web开发等多个领域。 2. **MyBatis框架**:MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。...

    jetty-all-8.2.0.v20160908.zip

    7. **Maven或Sbt构建工具**:WVLet可能使用Maven或Sbt进行项目构建,学习这两种工具的使用方法及其配置文件的结构。 8. **单元测试和集成测试**:通过WVLet的测试模块,了解如何编写和执行测试用例,确保代码的质量...

    Bug管理系统课题报告.doc

    实训内容涵盖了软件工程的实践应用、Bug管理流程、面向对象分析与设计、数据库设计与实施、Web应用开发、数据库操作和系统构建等多个方面。特别是,通过对Bug管理系统的需求分析,可以了解到软件服务在软件生命周期...

Global site tag (gtag.js) - Google Analytics