使用 eclipse 构建 maven 多模块项目

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


一. 创建 parent

创建 maven 项目
使用 eclipse 构建 maven 多模块项目_第1张图片

配置, 注意 Packaging 的选项 pom. 主要用于管理依赖.

使用 eclipse 构建 maven 多模块项目_第2张图片

修改 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 包的形式发布,
使用 eclipse 构建 maven 多模块项目_第3张图片

配置工程, 选择 parent, 注意, 选在 parent project 时最好用下面的 Browes... 按钮进行选择, 不然又可能识别不了, 无法读取到 parent 中的信息

使用 eclipse 构建 maven 多模块项目_第4张图片

修改 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 工具类
使用 eclipse 构建 maven 多模块项目_第5张图片

修改 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 模块

使用 eclipse 构建 maven 多模块项目_第6张图片

使用 eclipse 构建 maven 多模块项目_第7张图片

此时, sunny-manager 的 pom.xml 中会自动添加如下
使用 eclipse 构建 maven 多模块项目_第8张图片

此模块暂时不依赖任何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
使用 eclipse 构建 maven 多模块项目_第9张图片


修改 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 都是手动创建的
使用 eclipse 构建 maven 多模块项目_第10张图片

内容如下(随便找一个 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 项目


使用 eclipse 构建 maven 多模块项目_第11张图片


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


测试方法二

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

然后执行 tomcat7:run 即可



使用 eclipse 构建 maven 多模块项目_第12张图片


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


使用 eclipse 构建 maven 多模块项目_第13张图片





你可能感兴趣的:(使用 eclipse 构建 maven 多模块项目)