最新版已同步至 http://yywang.info/2014/05/31/maven-install-and-create-project/

maven是一个比较流行的项目管理工具,在最近参与的项目中,也使用了maven,本文主要对在项目中的使用做一个总结,主要涉及maven的安装于配置、maven创建多模块项目。

1、maven安装与配置

maven的安装与配置非常简单,具体步骤如下:

  1、首先到http://maven.apache.org/download.cgi下载maven的包,可以选择下载:apache-maven-3.2.1-bin.zip

  2、解压下载的文件到电脑硬盘的某个目录,比如D:\Program Files\

  3、然后在环境变量中配置MAVEN_HOME=D:\Program Files\apache-maven-3.2.1-bin

  4、在path中添加%MAVEN_HOME%\bin;

完成以上步骤,在运行 cmd 中 输入 mvn -version出现如下:

安装成功。

如果需要指定本地仓库的位置进入安装目录,config打开setting.xml设置

<localRepository>D:\Repositories\Maven</localRepository>

注意:在使用ecplise时注意配置Windows->Perferences->User Settings 中User Settings选择以上的setting.xml

maven的安装于配置已经完成了,需要了解更多的maven基础资料可以访问如下:

http://maven.apache.org/guides/index.html

http://maven.apache.org/pom.html

2、maven创建多模块项目

在开发web项目时,一般分为domain(领域对象)、persist(持久化)、service(业务)、web(web交互)四个模块。在有的项目中还按照不同的业务进行划分几个模块,每个模块包含这几个模块。

使用maven创建多模块项目步骤如下(以一个blogs为名字的项目为例):

1、创建blogs-root,用于各个模块集成。

(1)、进入命令行,输入如下:

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-root -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

在当前目录下,创建了一个blogs-root的目录,进入blogs-root有两个文件,src、pom.xml文件。

删除src文件。

(2)、修改pom文件

修改pom文件中的 <packaging>jar</packaging>为 <packaging>pom</packaging>

修改后的pom文件内容如下:

<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.yywang</groupId>
<artifactId>blogs-root</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging> <name>blogs-root</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>

2、创建blogs-domain,领域模型模块

(1)、进入blogs-root,进入命令行,输入

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-domain -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

在blogs-root目录下创建了blogs-domain目录。

在blogs-root目录下pom文件中增加了一个模块

  <modules>
<module>blogs-domain</module>
</modules>

(2)、修改blogs-domain下的pom文件

删除 <groupId>org.yywang</groupId>和<version>1.0-SNAPSHOT</version>,添加<packaging>jar</packaging>。

修改后的pom文件如下:

<?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>
<groupId>org.yywang</groupId>
<artifactId>blogs-root</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>blogs-domain</artifactId>
<packaging>jar</packaging>
<name>blogs-domain</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>

3、创建blogs-persist,持久化模块

(1)、在blogs-root目录,进入命令行,输入

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-persist -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

在blogs-root目录下,增加了blogs-persist目录。

在blogs-root目录下的pom文件,modules节点下多了<module>blogs-persist</module>

(2)、修改blogs-persist目录下的pom文件增加blogs-domain的依赖,修改为如下:

<?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>
<groupId>org.yywang</groupId>
<artifactId>blogs-root</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>blogs-persist</artifactId>
<packaging>jar</packaging>
<name>blogs-persist</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.yywang</groupId>
<artifactId>blogs-domain</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

3、创建blogs-service,业务模块

(1)、在blogs-root目录,进入命令行,输入

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-service -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveModel=false

在blogs-root目录下,增加了blogs-service目录。

在blogs-root目录下的pom文件,modules节点下多了<module>blogs-service</module>

(2)、修改blogs-service目录下的pom文件增加blogs-persist的依赖,修改为如下:

<?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>
<groupId>org.yywang</groupId>
<artifactId>blogs-root</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>blogs-service</artifactId>
<packaging>jar</packaging>
<name>blogs-service</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.yywang</groupId>
<artifactId>blogs-persist</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

4、创建blogs-web,web交互模块

(1)、在blogs-root目录,进入命令行,输入

mvn archetype:create -DgroupId=org.yywang -DartifactId=blogs-web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveModel=false

在blogs-root目录下,增加了blogs-web目录。

在blogs-root目录下的pom文件,modules节点下多了<module>blogs-web</module>

(2)、修改blogs-web目录下的pom文件增加blogs-service的依赖,修改为如下:

<?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>
<groupId>org.yywang</groupId>
<artifactId>blogs-root</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>blogs-web</artifactId>
<packaging>war</packaging>
<name>blogs-web Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.yywang</groupId>
<artifactId>blogs-service</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>blogs-web</finalName>
</build>
</project>

完成所有模块的创建后,blogs-root目录下的pom文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<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.yywang</groupId>
<artifactId>blogs-root</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>blogs-root</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>
<modules>
<module>blogs-domain</module>
<module>blogs-persist</module>
<module>blogs-service</module>
<module>blogs-web</module>
</modules>
</project>

这样就完成了maven多模块项目的创建。

maven安装与创建多模块项目的更多相关文章

  1. 基于maven使用IDEA创建多模块项目

    原文地址:http://blog.csdn.net/williamhappy/article/details/54376855 鉴于最近学习一个分布式项目的开发,讲一下关于使用IntelliJ IDE ...

  2. Maven手动创建多模块项目

    Maven手动创建多模块项目 我要创建的项目名称是:unicorn,项目包含两个模块,分别是unicorn-core和unicorn-web.包的路径是com.goldpalm.tour. 项目创建流 ...

  3. Maven 搭建spring boot多模块项目(附源码),亲测可以,感谢原创

    原创地址:https://segmentfault.com/a/1190000005020589 我的DEMO码云地址,持续添加新功能: https://gitee.com/itbase/Spring ...

  4. Maven 搭建spring boot多模块项目

    Maven 搭建spring boot多模块项目 备注:所有项目都在idea中创建 1.idea创建maven项目 1-1: 删除src,target目录,只保留pom.xml 1-2: 根目录pom ...

  5. Angular安装及创建第一个项目

    Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJ ...

  6. 利用springboot创建多模块项目

    本文旨在用最通俗的语言讲述最枯燥的基本知识 最近要对一个不大不小的项目进行重构,用spring觉得太过于繁琐,用cloud又有觉得过于庞大,维护的人手不够:权衡之下,最终选了springboot作为架 ...

  7. 使用 IDEA 创建多模块项目

    网上找如何创建多模块项目的资料,大多类似,实践中又各有问题,此文为摸索之后总结 最终项目结构如下: 项目引用关系:app → service → dao 新建父项目 multi-parent mult ...

  8. IDEA项目搭建一——使用Maven创建多模块项目

    废话不多说,直接开始吧,如果有哪里写的不多的,还望指出,谢谢 一.创建空项目EmpayProject File -> New -> Project 二.添加父模块Parent Module ...

  9. maven创建多模块项目

    在eclipse下构建maven项目,该项目由多个子模块组成. 1.创建一个父项目 NEW -->project-->maven-->maven Project,点击下一步,进入ne ...

随机推荐

  1. 使用yocs_cmd_vel_mux进行机器人速度控制切换

    cmd_vel_mux包从名字就可以推测出它的用途,即进行速度的选择(In electronics, a multiplexer or mux is a device that selects one ...

  2. pycharm怎么设置代码自动补齐

    代码补全功能在PyCharm上是一流的.默认情况下PyCharm会在你输入的时候给出建议: 由于此功能可有点耗电,你可以通过选择File→Power Save Mode来禁用它.您仍然可以通过Cont ...

  3. 2017 33 款iOS开源库

    IGListKit https://github.com/Instagram/IGListKit 由 Instagram 开发人员制作,IGListKit 是用于构建快速灵活列表的数据驱动型的 UIC ...

  4. JAVA JSON解析:类XPATH解析JSON

    目前JAVA解析JSON的方式有很多种,json-lib啊,GJSON啊,等等都可以解析,但通常是将JSON转换为对象或者是LIST或者是MAP,对于我们测试人员来说,其实我们并不需要里面的全部信息, ...

  5. Windows 8系统默认开启的.Net Framework版本是4.0,而部分用户可能需要使用到3.5或以下版本,简单添加方法

    从网络途径下载的.Net Framework3.5是无法直接在Windows 8系统上安装的,我们可以通过Windows 8的添加功能来实现 1.打开控制面板,点击”启用或关闭Windows 功能“ ...

  6. Atitit 纯java项目的提升进度大法---通用json dsl接口

    Atitit 纯java项目的提升进度大法---通用json dsl接口 1. Json dsl接口1 1.1. Url:  http://aaa.com/api_jsondsl?dsl={}1 1. ...

  7. TinyXML2 的使用

    TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译.这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树 ...

  8. 每日英语:Doc, Do I Need A Juice Cleanse?

    Some drink only vegetable juice. Others soak in Epsom salts. It's all in the pursuit of ridding the ...

  9. Asp.Net 导入Excel自动获取表名

    public static DataSet ReadExcel(string Path, string fileType) { //服务器需要安装驱动 //http://download.micros ...

  10. Asp.Net T4模板生成三层架构

    1.T4 Editor安装 T4:根据模板生成文件,例如model等 vs中默认t4模板编码是没有提示和高亮的,需使用以下插件,免费的 https://t4-editor.tangible-engin ...