目标:

对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project Object Model)有一个基本的理解

目前不准备深入学习maven故此使用工具ideaj 来帮助学习,

用idea创建一个默认的maven工程,结构如下:

使用idea自带的工具运行maven命令的时候可能会遇到异常:

-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.

解决办法非常简单,在设置中添加下面参数即可,如图:

-Dmaven.multiModuleProjectDirectory=$M2_HOME

相关命令:

打包:mvn package

编译:mvn compile

编译测试程序:mvn test-compile

清空:mvn clean

运行测试:mvn test

生成站点目录: mvn site

生成站点目录并发布:mvn site-deploy

安装当前工程的输出文件到本地仓库: mvn install

安 装指定文件到本地仓库:mvn install:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>

查看实际pom信息: mvn help:effective-pom

分析项目的依赖信息:mvn dependency:analyze 或 mvn dependency:tree

跳过测试运行maven任务:    mvn -Dmaven.test.skip=true XXX

生成eclipse项目文件: mvn eclipse:eclipse

查看帮助信息:mvn help:help 或 mvn help:help -Ddetail=true

查看插件的帮助信息:mvn <plug-in>:help,比如:mvn dependency:help 或 mvn ant:help 等等。

常用命令

1. 创建Maven的普通java项目:

mvn archetype:create

-DgroupId=packageName

-DartifactId=projectName

2. 创建Maven的Web项目:

mvn archetype:create

-DgroupId=packageName

-DartifactId=webappName

-DarchetypeArtifactId=maven-archetype-webapp

3. 编译源代码: mvn compile

4. 编译测试代码:mvn test-compile

5. 运行测试:mvn test

6. 产生site:mvn site

7. 打包:mvn package

8. 在本地Repository中安装jar:mvn install

9. 清除产生的项目:mvn clean

10. 生成eclipse项目:mvn eclipse:eclipse

11. 生成idea项目:mvn idea:idea

12. 组合使用goal命令,如只打包不测试:mvn -Dtest package

13. 编译测试的内容:mvn test-compile

14. 只打jar包: mvn jar:jar

15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile

( -skipping 的灵活运用,当然也可以用于其他组合命令)

16. 清除eclipse的一些系统设置:mvn eclipse:clean

参考:maven学习笔记一-maven install 模块之间相互引用 http://blueyan.iteye.com/blog/1999159

maven权威指南学习笔记(三)——一个简单的maven项目的更多相关文章

  1. maven权威指南学习笔记(五)—— POM

    1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...

  2. maven POM —— maven权威指南学习笔记(五)

    1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...

  3. Hadoop权威指南学习笔记三

    HDFS简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考.有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my ...

  4. maven权威指南学习笔记(一)——简介

    maven是什么?有什么用? Maven是一个项目管理工具,它包含了     一个项目对象模型 (Project Object Model),     一组标准集合,     一个项目生命周期(Pro ...

  5. maven 简介 —— maven权威指南学习笔记(一)

    maven是什么?有什么用? Maven是一个项目管理工具,它包含了 一个项目对象模型 (Project Object Model), 一组标准集合, 一个项目生命周期(ProjectLifecycl ...

  6. maven 一个简单项目 —— maven权威指南学习笔记(三)

    目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...

  7. maven权威指南学习笔记(二)——安装、运行、获取帮助

    这部分在网上很容易找到详细教程,这里就略写了. 基础:系统有配置好的jdk,通过 命令行 java -version,有类似下面的提示,表示java环境以配好 下载maven:官网 http://ma ...

  8. maven 安装、运行、获取帮助 —— maven权威指南学习笔记(二)

    这部分在网上很容易找到详细教程,这里就略写了. 基础:系统有配置好的jdk,通过 命令行 java -version,有类似下面的提示,表示java环境以配好 下载maven:官网 http://ma ...

  9. maven权威指南学习笔记(四)—— maven生命周期(lifecycle)

    定义: 生命周期是包含在一个项目构建中的一系列有序的阶段 举个例子来说就是maven 对一个工程进行: 验证(validate) -- 编译源码(compile) -- 编译测试源码(test-com ...

随机推荐

  1. Spring学习记录1--@Transactional Propagation

    起因 学习Spring的时候就知道aop有一个应用是声明式注解..反正往Service上一丢@Transactional就完事了..不用自己去开启hibernate的session,很简单. 但是@T ...

  2. 推荐几款我一直在用的chrome插件(上)

    我用的chrome插件挺多的,所谓工欲善其事必先利其器,我热衷于搜寻好用的工具来让我平时的工作事半功倍.下面介绍几款我正在用的感觉还不错的插件,如果大家还有其它好用的(肯定有,chrome插件库太庞大 ...

  3. Ruby安装Scss

    Ruby安装Scss 引言 已经许久不写HTML了,今天有点以前的东西要改.但是刚装的Windows10,已经没有以前的Web开发环境了.只好重新安装. 结果Webstorm装好后配置Scss出现错误 ...

  4. SSAS 通过 ETL 自动建立分区

    一.动态分区的好处就不说了,随着时间的推移,不可能一个度量值组都放在一个分区中,处理速度非常慢,如何动态添加分区,如何动态处理分区,成为了很多新手BI工程师一个头痛的问题,废话不多说,分享一下我的经验 ...

  5. OPP Services Log

    SELECT FCPP.CONCURRENT_REQUEST_ID REQ_ID, FCP.NODE_NAME, FCP.LOGFILE_NAME  FROM FND_CONC_PP_ACTIONS ...

  6. gulp 实现 js、css,img 合并和压缩

    前提条件,知道如何安装nodejs.gulp,这里不做介绍,可以自行google 实现此功能需要安装的gulp工具有如下 npm install gulp-htmlmin gulp-imagemin ...

  7. Bootstrap table使用心得

    序号显示带分页信息的连续编号,在序号列添加以下格式化代码即可. { field: 'number', title: '序号', align:'center', width:45, formatter: ...

  8. php.h: No such file or directory

    建立一个php的include路径到/usr/include的软连接就好了 ln -s /usr/include/php-zts/* /usr/include/

  9. AngularJS下拉列表select在option动态变化之后多出了一个错误项的问题

    场景: Select初始化之后,选中select的某个选项 通过AngularJS更新select的选项 错误写法: HTML(使用ng-repeat) <div ng-app="Te ...

  10. 在布局文件中使用Fragment的步骤

    为了在Activity布局文件中使用Fragment我们需要四个步骤. 1.定义一个Activity,他继承android.support.v4.app.FragmentActivity,下面是关键代 ...