在开发环境中,有时需要专人负责专门的模块,其他模块不需接触,这就需要将项目拆分,如下

    

fund_demo项目具有三个模块,现将主业务core模块单独提出另建一个项目fund_core,拆分时需要注意相关类的路径在映射文件中要保持正确

    

这就需要当运行fund_demo时也要调用fund_core项目,开发情况下可将fund_core项目作为依赖加入fund_demo,但打包时却不方便,这就需要用到maven来管理

1. 同一工作空间下新建父项目fund_parent,并编辑pom.xml

    <groupId>cn.zang</groupId>
<artifactId>fund_parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 打包方式为pom -->
<packaging>pom</packaging> <!-- 引入子项目 -->
<modules>
<module>../fund_core</module>
<module>../fund_demo</module>
</modules>

2. 编辑子项目的pom.xml

fund_demo:声明父元素,引入fund_core的依赖

<!--声明父元素-->
<parent>
<groupId>cn.zang</groupId>
<artifactId>fund_parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../fund_parent</relativePath>
</parent> <groupId>cn.zang</groupId>
<artifactId>fund_demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>fund</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<!--引入fund_core的依赖-->
<dependency>
<groupId>cn.zang</groupId>
<artifactId>fund_core</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
······
</dependencies>

fund_core:声明父元素

<!--声明父元素-->
<parent>
<groupId>cn.zang</groupId>
<artifactId>fund_parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../fund_parent</relativePath>
</parent> <groupId>cn.zang</groupId>
<artifactId>fund_core</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

3. fund_parent项目编译发布

call mvn clean compile
call mvn eclipse:clean
call mvn eclipse:eclipse -Dwtpversion=2.0 -DdownloadSources=true -DdownloadJavadocs=true
pause

4. 在项目中引入父项目时即可自动将两个子项目引入

使用maven拆分项目的更多相关文章

  1. Maven 通过maven对项目进行拆分、聚合(重点)

    对现在已有maven ssh项目进行拆分,拆分思路:将dao层的代码已经配置文件全体提取出来到一个表现上独立的工程中.同样service.action拆分. ssh-parent: 父工程 ssh-d ...

  2. IntelliJ IDEA使用(一):创建maven web项目

    在公司用eclipse开发maven web项目后,慢慢开始明白大家的那句话"受不了eclipse".的确,在开发大型的web项目,尤其是maven构建的项目,eclipse很不友 ...

  3. maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

    maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository. ...

  4. eclipse 创建maven web项目

    参考:http://www.cnblogs.com/hongwz/p/5456616.html eclipse 创建maven web项目

  5. 在Intellij IDEA 下通过Maven新建项目的一些体会

    因为习惯的原因,一直在用jetbrain的IDE,最近的在开发javaEE项目,并尝试用maven来管理依赖,那这中间又出了什么让我不得不写下来的呢 一.先来看看在IDEA下怎么用maven建项目 1 ...

  6. 利用Maven把项目生成jar包供其他项目使用

    每当搭建框架时,第一步就是为系统整理一个接一个的jar包.用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢? 近期一直在看徐晓斌所著:<Maven实战>.因自己学识不够,只是 ...

  7. Mybatis与Spring整合,使用了maven管理项目,作为初学者觉得不错,转载下来

    转载自:http://www.cnblogs.com/xdp-gacl/p/4271627.html 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype ...

  8. myeclipse下构建maven web项目

    首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 war的形式 由于packing是war包,那么下面 ...

  9. Eclipse 搭建 Maven Web项目

    第一步:安装JDK: 第二步:安装Eclipse: 第三步:安装tomcat7: 第四步:安装maven插件: 4.1 下载maven:http://maven.apache.org/download ...

随机推荐

  1. Jeeplus框架中问题解决

    1,文件上传后图片显示的问题 (1)问题:在这个组件的文档介绍里面写了这个组件是有预览功能的,但是我没有找到,就自己写了这个小功能. 在框架中下图中,这个文件上传组件只能将文件上传,然后将文件名显示出 ...

  2. hdu 2795 Billboard 线段树单点更新

    Billboard Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=279 ...

  3. Tasker文件夹说明

    ################导入类#################路径 类型 后缀名 /tasker/profiles/ 配置 .prf.xml /tasker/projects/ 项目 .pr ...

  4. SpringMvc(1) --Eclipse搭建web项目

    http://blog.csdn.net/uucai http://blog.csdn.net/uucai/article/details/21258575

  5. Gulp插件less的使用

    1.创建:gulpfile.js var gulp = require('gulp'), less = require('gulp-less'); gulp.task('default', funct ...

  6. Java垃圾回收精粹 — Part2

    Java垃圾回收精粹分4个部分,本篇是第2部分.在第2部分里介绍了Hotspot中的堆结构.对象分配以及次要回收. Hotspot中的堆结构 理解不同的收集器的工作方式,是探讨Java堆结构如何支持分 ...

  7. 解决:解压zip文件却变成cpgz文件

    众所周知,zip是一种压缩文件格式,MAC OS默认支持的文件格式,当时偶尔当你打开zip文件想要解压时,却自动变成了cpgz文件而没有解压,再双击这个cpgz文件,Archive Utility又会 ...

  8. eclipse 中添加自定义 classpath 的方法,以及 javac 和 java 的一些使用细节

    目标: 将 ~/java 加入classpath eclipse: 右键选中 Project, Properties, Java Build Path, Libraries, Add External ...

  9. Serlvet Response 输出1x1 图片

    import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import ja ...

  10. .net使用自定义类属性

    .net中可以使用Type.GetCustomAttributes获取类上的自定义属性,可以使用PropertyInfo.GetCustomAttributes获取属性信息上的自定义属性. 下面以定义 ...