Maven -- 第一次使用Maven
2016-01-26 14:14
411 查看
通过命令构建Java项目,打包,及运行
mvn archetype:generate -DgroupId=org.sonatypea.mavenbook.ch03 -DartifactId=NumberGenerator -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
在安装好maven的基础上,我们再windows系统命令模式下,执行以上语句。即可基于maven构建一个简单的java项目。
mvn install
在pom.xml所在的目录下执行此行命令,构建及打包这个应用,执行成功后,会在目录下生产一个target文件夹
运行程序
java -cp target/NumberGenerator-1.0-SNAPSHOT.jar org.sonatypea.mavenbook.ch03.App
pom.xml范例
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.sonatypea.mavenbook.ch03</groupId> <artifactId>NumberGenerator</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>NumberGenerator</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
groupId, artifactId, version, scope构成了maven的坐标。
mvn help:effective-pom
用来查看当前工程的完整的pom文件, 比如从父类pom以及默认pom继承的内容
Maven生命周期
Maven有三套相互独立的生命周期,分别为clean、default和site。clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site生命周期的目的是建立项目站点。clean生命周期的目的是清理项目,它包括如下三个阶段:
a)pre-clean:执行一些清理前需要完成的工作。 b)clean:清理上一次构建的文件。 c)post-clean:执行一些清理后需要完成的工作。
default生命周期定义了真正构建时所需要执行的所有步骤,它是所有生命周期中最核心的部分。
a)validate b)initialize c)generate-sources d)process-sources e)generate-resources f) process-resources g)compile:编译项目的主源码,即编译src/main/java目录下的Java文件至项目输出的主classpath中。 h)process-classes i)generate-test-sources j)process-test-sources k)generate-test-resources l)process-test-resources m)test-compile:编译项目的测试代码,即编译src/test/java目录下的Java文件至项目输出的测试classpath目录中。 n)process-test-classes o)test:使用单元测试框架运行测试。 p)prepare-package q)package:接受编译好的代码,打包成可发布的格式。如:.jar r)pre-integration-test s)integration-test t)post-integration-test u)verify v)install:将包安装到Maven本地仓库,供本地其他Maven项目使用。 w)deploy:将最终的包复制到远程仓库,供其他开发人员和Maven项目使用。
site生命周期的目的是建立和发布项目站点。
a)pre-site:执行一些在生成项目站点之前需要完成的工作。 b)site:生成项目站点文档。 c)post-site:执行一些在生成项目站点之后需要完成的工作。 d)site-deploy:将生成的项目站点发布到服务器上。
查看项目依赖树
mvn dependency:tree
相关文章推荐
- java中逻辑右移">>>"算术右移">>"的区别?
- QT5使用消息机制及程序发布相关
- 谈谈Javascript中的异步调用的上下文
- 一些科学研究中的认识
- 去掉空格的正则表达式
- Codeforces Round #340 (Div. 2) A
- swift 异步加载图片
- openwrt的结构 与 编写 HelloWorld程序
- matlab出现Invalid file identifier. Use fopen to generate a valid file identifier错误
- YTU 2801: 用数字造数字(II)
- 插入排序之直接插入排序
- php 数据库连接 增删改
- 如何制定语境驱动的测试计划
- Vagrant (3) —— 复制/备份Vagrant Box
- 知识片段---禁止输入系统表情
- notepad++使用emmet出现 “Unknown exception”错误
- HDU 1242 Rescue (BFS or DFS)
- 照片选择器
- LeetCode 326
- Android开源项目分类汇总