最新版已同步至 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. 这些年我在技术路上做过最虚伪愚蠢的事情,就是在CSDN上刷屏赚分

    现在似乎Github成了所谓技术人士的新宠,之前是博客,更早则是论坛. CSDN是众多技术论坛里比较突出的一个,人多高手也多,很多问题都能得到满意的回答. 谁都希望自己卓尔不群,我也不例外,我也想像那 ...

  2. minipad2

    minipad2 是一款小巧的纯文本笔记软件,系统资源占用少,集笔记 / 便笺.计算器.备忘录.电子词典.快启面板.通讯录.文字模板.多重剪贴板等多种功能于一体,所有内容自动保存,关闭时自动记忆最后的 ...

  3. Android Gesture Detector

    Android Touch Screen 与传统Click Touch Screen不同,会有一些手势(Gesture),例如Fling,Scroll等等.这些Gesture会使用户体验大大提升.An ...

  4. cmake mac 安装

    Cmake 在mac上的安装 cmake 官网:https://cmake.org/ 以源码方式安装 1. 下载源码:https://cmake.org/files/v3.9/cmake-3.9.0- ...

  5. linux实现共享内存同步的四种方法

    https://blog.csdn.net/sunxiaopengsun/article/details/79869115 本文主要对实现共享内存同步的四种方法进行了介绍. 共享内存是一种最为高效的进 ...

  6. 基于Centos搭建 Hadoop 伪分布式环境

    软硬件环境: CentOS 7.2 64 位, OpenJDK- 1.8,Hadoop- 2.7 关于本教程的说明 云实验室云主机自动使用 root 账户登录系统,因此本教程中所有的操作都是以 roo ...

  7. 性能测试工具jmeter的安装

    1.mac安装jmeter 参考博客:https://blog.csdn.net/shendezhuti/article/details/77972297

  8. [CTCI] 最小调整有序

    最小调整有序 题目描述 有一个整数数组,请编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的.注意:n-m应该越小越好,也就是说,找出符合条件的最短序列. 给定一个int数 ...

  9. 图灵数学·统计学丛书.PDF(53本全)

    图灵数学·统计学丛书01-概率论及其应用(第1卷·第3版)-[美]William.Feller-人民邮电出版社.pdf 图灵数学·统计学丛书01-金融数学:衍生产品定价引论-[英]M·巴克斯特& ...

  10. linux每日命令(13):more命令

    more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...