使用eclipse搭建分布式maven项目
1 准备工作(以下版本为个人版本)
maven 3.3.9
jdk 1.8
eclipse
2 分布式介绍
分布式项目中,往往不同的项目需要同一个实体类,或者是共享工具类,整个系统搭建采用大型项目开发方式,使用maven继承和聚合,形参多个子项目,方便团队开发,调试和一键部署
项目结构
|-wx-parent pom
|- wx-common jar
|-wx=manage pom
|-wx-manage-pojo jar
|-wx-manage-mapper jar
|-wx-manage-service jar
|-wx-manage-web war
在本项目中,一共新建 wx-parent,wx-common,wx-manage,wx-pojo,wx-mapper,wx-service,wx-web七个工程
wx-parent工程包含项目的各个子项目所需的公共的核心jar包,这些jar包一般是各种第三方的jar包
wx-common工程包含了项目的各个子项目所需的各种工具类,这些工具类一般是由公司自己编写,将来项目发布时,这个工程会被maven打包成一个名为wx-common.jar的文件,放到wx-web工程的web-inf/lib下
wx-manage是一个聚合工程,它包含wx-pojo,wx-mapper,wx-service,wx-web四个工程模块,其中wx-web是主导
将来项目发布时,maven会把wx-pojo,wx-mapper,wx-service三个工程分别打包成三个jar包,存放于wx-web的web-inf/lib下
3 开始搭建
新建wx-parent工程
新建maven project
直接next
输入 Groupid和artifact id
在项目中删除默认生成的App.java,
找到pom.xml.双击,在override中将packaging改为pom,
修改pom.xml中的内容,添加项目所需的依赖jar包(SSM为例)
<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.wx.shj</groupId> <artifactId>wx-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>wx-parent</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring.version>4.3.3.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <!-- spring4相关的包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- spring4 aop要用到的包 --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.6</version> </dependency> <!-- 验证框架所需要的包 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.3.0.Alpha1</version> </dependency> <!-- 添加json解析的库 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.5.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.2</version> </dependency> <!--mybatis相关的包 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.21</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version> </dependency> <!-- mybatis与spring的整合包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> <!-- 单元测试的包 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!-- mysql的驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.10</version> </dependency> <!-- c3po --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> <!-- 分页的组件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.0.0</version> </dependency> <!-- fileUpload 解析上传的文件用到的jar --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> </project> |
新建common工程
在Overview中将Artifact的Packaging改为jar,保存。
在Parent选项栏右边点击select parent,选择上面创建的parent工程,点击OK,保存。
将项目默认生成的测试类和低版本的jUnit删除。
如果这时工程报错,在工程右键点击Maven下的Update Project。
新建manage工程,manage为聚合工具,
包含四个模块
com.wx.manage.pojo
com.wx.manage.mapper
com.wx.manage.service
com.wx.manage.web
修改其类型为pom,并设置parent
>新建pojo模块
module新建的顺序必须按照pojo,mapper,service,web的顺序。
在wx-manage工程上右键
删除测试类及junit的依赖
在依赖中增加wx-common
>新建wx-manage-mapper模块 ,依赖wx-manage-pojo,其它步骤与pojo类似
>新建wx-manage-service模块,依赖wx-manage-mapper,其它步骤与pojo类似
>新建wx-manage-web模块.依赖wx-manage-service
修改pom.xml的packaging 为war
至此分布式项目搭建完毕
更多推荐
所有评论(0)