`
chenyuguxing
  • 浏览: 39225 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用 eclipse 构建 maven 多模块项目

 
阅读更多

以前看了一篇使用命令行构建 maven 多模块项目, 比较麻烦, 今天试着用 eclipse 构建, 应该比较简单


一. 创建 parent

创建 maven 项目


配置, 注意 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>com.sunny</groupId>
  <artifactId>sunny</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <description>parent pom</description>
  <!-- 集中管理版本号 -->
  <properties>
		<commons-lang3.version>3.3.2</commons-lang3.version>
	</properties>
	<!-- 只声明依赖的包和版本,并不实际依赖,这样子模块中只要声明 groupId 和 artifactId 即可使用, 便于统一版本号 -->
	<dependencyManagement>
		<dependencies>
			
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${commons-lang3.version}</version>
			</dependency>
			
			
		</dependencies>
	</dependencyManagement>
	<build>
		<finalName>${project.artifactId}</finalName>
		<plugins>
			<!-- 资源文件拷贝插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.7</version>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<!-- java编译插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
		</plugins>
		<!-- 声明插件,本项目并不依赖,供子项目依赖使用 -->
		<pluginManagement>
			<plugins>
				<!-- 配置Tomcat插件 -->
				<plugin>
					<groupId>org.apache.tomcat.maven</groupId>
					<artifactId>tomcat7-maven-plugin</artifactId>
					<version>2.2</version>
				</plugin>
				 <!--配置Jetty插件-->  
		         <plugin>  
		             <groupId>org.mortbay.jetty</groupId>  
		             <artifactId>maven-jetty-plugin</artifactId>
<span style="white-space:pre">				</span><version>6.2.16</version> 
		         </plugin>  
			</plugins>
		</pluginManagement>
	</build>
</project>

二. 创建工具类工程

此工程主要管理项目中经常用到的一些工具类, 以 jar 包的形式发布,


配置工程, 选择 parent, 注意, 选在 parent project 时最好用下面的 Browes... 按钮进行选择, 不然又可能识别不了, 无法读取到 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>
  <parent>
    <groupId>com.sunny</groupId>
    <artifactId>sunny</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>sunny-common</artifactId>
  <dependencies>
  		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
		</dependency>
  </dependencies>
</project>


三.创建一个聚合工程

创建一个聚合工程, 用于管理各个模块, 此工程可能依赖 common 工具类


修改 pom.xml 文件, 添加依赖(主要是项目依赖, 例如 common 项目)
<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>
  <parent>
    <groupId>com.sunny</groupId>
    <artifactId>sunny</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>sunny-manager</artifactId>
  <packaging>pom</packaging>
  
  <dependencies>

  <dependency>
  	<groupId>com.sunny</groupId>
  	<artifactId>sunny-common</artifactId>
  	<version>0.0.1-SNAPSHOT</version>
  </dependency>
  </dependencies>
</project>

四. 创建 POJO 模块




此时, sunny-manager 的 pom.xml 中会自动添加如下


此模块暂时不依赖任何jar包

五. 创建 sunny-manager-dao模块

创建过程与创建 POJO 模块类似.

添加此模块依赖的项目和 jar 包
<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>
  <parent>
    <groupId>com.sunny</groupId>
    <artifactId>sunny-manager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>sunny-manager-dao</artifactId>
  <description>持久层</description>
  
  <dependencies>
  	<dependency>
		<groupId>com.sunny</groupId>
		<artifactId>sunny-manager-pojo</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</dependency>
	<!-- Mybatis -->
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis</artifactId>
	</dependency>
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis-spring</artifactId>
	</dependency>
	<dependency>
		<groupId>com.github.miemiedev</groupId>
		<artifactId>mybatis-paginator</artifactId>
	</dependency>
	<dependency> 
		<groupId>com.github.pagehelper</groupId>
		<artifactId>pagehelper</artifactId>
	</dependency>
	<!-- MySql -->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
	</dependency>
	<!-- 连接池 -->
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>druid</artifactId>
	</dependency>
  </dependencies>
  
</project>

六. 创建 sunny-manager-service 模块

与 第四, 第五步类似

修改 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>
  <parent>
    <groupId>com.sunny</groupId>
    <artifactId>sunny-manager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>sunny-manager-service</artifactId>
  <description>业务层</description>
  
  <dependencies>
		<dependency>
			<groupId>com.sunny</groupId>
			<artifactId>sunny-manager-dao</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		<!-- Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
		</dependency>
	</dependencies>
  
</project>

七. 创建 sunny-manager-web模块

注意. 此处是需是 war 包, 但是由于没有 web.xml 文件, 所以 pom.xml 会报错, 所以要手动创建 web.xml



修改 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>
  <parent>
    <groupId>com.sunny</groupId>
    <artifactId>sunny-manager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>sunny-manager-web</artifactId>
  <packaging>war</packaging>
  
  <!-- 依赖管理 -->
	<dependencies>
		<dependency>
			<groupId>com.sunny</groupId>
			<artifactId>sunny-manager-service</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		<!-- JSP相关 -->
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jsp-api</artifactId>
			<scope>provided</scope>
		</dependency>
		<!-- 文件上传组件 -->
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
		</dependency>
	</dependencies>
</project>

因为是 war 包, 必须创建 web.xml 文件, 包括 WEB-INF 都是手动创建的


内容如下(随便找一个 web.xml 文件复制即可)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">

	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>


八. 测试运行


在 sunny-manager-web 的 webapps 目录下 创建 index.jsp 内容如下
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>



<body>
	<h1>Hello World!</h1>
</body>
</html>

在 sunny-manager 中添加 jetty 依赖
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>

</build>


测试方法一:

在eclipse 中安装 jetty 插件, run with jetty, 运行的是 sunny-manager-web 项目




访问http://localhost:8083/sunny-manager-web/ 即可


测试方法二

使用 maven 中的 tomcat 插件运行, 运行之前需要将 sunny , sunny-common 安装到本地仓库, install 命令

然后执行 tomcat7:run 即可





在浏览器输入http://localhost:8083/sunny-manager/







分享到:
评论

相关推荐

    用Eclipse创建Maven多模块项目

    通过这种方式,Eclipse和Maven结合使用,可以帮助开发者轻松地创建和管理复杂的多模块项目。这种方式有利于代码的分层和解耦,使得团队成员能专注于各自模块的开发,同时保证了整体项目的构建一致性。在实际开发中,...

    使用Eclipse构建Maven的SpringMVC项目

    【构建Maven的SpringMVC项目】在IT行业中,使用Eclipse作为开发工具,结合Maven构建SpringMVC项目是常见的实践。Maven是一个强大的项目管理和依赖管理工具,它可以帮助开发者自动化构建过程,解决jar包版本不一致的...

    maven多模块项目构建过程

    本篇文章将详细探讨"Maven多模块项目构建过程",并结合提供的资源"搭建maven多工程模块步骤",来深入理解如何创建和管理一个包含多个子项目的Maven工程。 1. Maven多模块项目概述: Maven多模块项目是指由一个父...

    maven多模块项目工程-已搭建好

    2. **Eclipse开发工具**:Eclipse是Java开发者广泛使用的集成开发环境,它支持Maven插件,可以方便地创建、管理和构建Maven项目。在Eclipse中,你可以通过“New -&gt; Maven Project”创建新的Maven项目,并选择...

    使用eclipse构建maven的web项目

    通过以上步骤,你便成功地使用Eclipse构建了一个Maven Web项目。在实际开发中,你可能会遇到更多细节问题,例如解决依赖冲突、配置Maven插件以实现自动化构建和测试等。理解Maven的生命周期和构建过程,以及熟练掌握...

    如何使用eclipse搭建maven多module项目(构建父子项目)

    使用Eclipse搭建Maven多模块项目(构建父子项目) Maven是一款流行的Java项目管理和构建工具,Eclipse是最流行的Java集成开发环境(IDE)。在实际项目中,通常会使用Maven来管理项目的依赖关系和构建过程,而...

    eclipse下gradle多模块项目构建

    本文将深入探讨在Eclipse环境下使用Gradle进行多模块项目构建的知识点。 首先,`Eclipse`是一款广泛应用的Java集成开发环境(IDE),它提供了丰富的功能,包括代码编辑、调试、版本控制等,支持多种编程语言。然而...

    eclipse-maven3-plugin

    8. **多模块项目支持**:对于包含多个子项目的大型项目,插件能很好地处理依赖关系和构建顺序。 在安装了 **eclipse-maven3-plugin** 后,开发者可以更高效地管理项目依赖,简化构建流程,提高开发效率。同时,由于...

    如何提高Maven多模块项目编译速度.docx

    在开发大型Java项目时,Maven多模块结构的使用非常常见,它可以帮助我们更好地管理和组织代码。然而,当项目变得庞大时,编译速度可能会成为一个显著的问题。以下是一些优化Maven多模块项目编译速度的策略: 1. **...

    基于Eclipse构建Maven的SpringMVC项目技术文档

    - **解决方案**:使用Eclipse构建Maven项目,避免此类问题。 - **问题2**:`WEB-INF`下的`classes`文件夹在转换为`target/classes`后,依然存在编译问题。 - **解决方案**:确保所有源代码文件夹和输出文件夹的...

    eclipse 创建多模块maven项目

    ### Eclipse 创建多模块Maven项目的详细步骤 在软件开发领域,Maven作为一种自动化构建工具,因其强大的依赖管理和项目构建功能而被广泛采用。而在大型项目或微服务架构中,经常需要构建多模块项目来实现良好的代码...

    eclipse下创建ssm+MySQL+maven多模块项目

    本教程将聚焦于使用Eclipse集成开发环境(IDE)创建一个基于SSM(Spring、Struts2、MyBatis)框架和MySQL数据库的多模块Maven项目。SSM是Java Web开发中常用的三大组件,它们各自负责应用程序的不同层面:Spring管理...

    eclipse-maven内置

    对于包含多个子模块的Maven项目,Eclipse提供了良好的支持,可以在一个父项目下管理所有子模块,方便进行整体构建和调试。 **8. Maven构建配置** 用户可以在Eclipse的“Run Configurations”中为特定的Maven目标...

    eclipse的maven插件

    7. **聚合项目支持**:对于包含多个模块的Maven聚合项目,M2E能够有效地管理各个子项目,提供统一的构建和调试环境。 8. **配置同步**:当Eclipse项目设置与Maven POM不一致时,M2E可以进行同步,保持两者的一致性...

    maven构建 多模块项目

    Maven构建多模块项目是软件开发中的常见实践,尤其在大型复杂项目中,通过模块化管理可以提高代码组织的清晰度和可维护性。Maven是一个强大的项目管理和构建工具,它通过POM(Project Object Model)文件来管理项目...

    eclipse+maven +ssh

    "eclipse+maven+ssh"就是一个常见的组合,其中eclipse是Java开发的集成开发环境,maven是项目管理和构建工具,而ssh则是三个流行框架的简称,包括Spring、SpringMVC和Hibernate。下面我们将详细探讨这些知识点。 1....

Global site tag (gtag.js) - Google Analytics