source: http://blog.sina.com.cn/s/blog_7cf112e00100t0hb.html
mvn archetype
maven里的项目是用archetype创建的,通过指定不同的archetype来创建不同类型的项目骨架(java/动态web/企业级应用等等)(1)创建Maven的普通java项目:
(2) 创建Maven的Web项目:
mvn compile
编译主程序源代码,按照约定放在target/classes下
mvn test-compile
编译测试代码,按照预定放在target/test-classes下
mvn test
运行应用程序中的单元测试
mvn site
生成项目相关信息的网站
mvn clean
清除target目录中的生成结果
mvn package
依据项目生成jar/war/ear文件,打包之前会进行编译,测试,完成之后将jar/war/ear文件按照约定放在target下
mvn install
打包项目,并在本地 Repository 中安装供其他项目依赖和使用,安装目录为C:\Documents and Settings\user\.m2\repository
mvn eclipse:eclipse
生成Eclipse项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录
mvn jetty:run
打包,下载并用jetty服务器运行打包的项目
mvn idea:idea
生成idea项目
mvn eclipse:clean
清除eclipse的一些系统设置
mvn -Dwtpversion=1.0 eclipse:eclipse
生成Wtp插件的Web项目
mvn -Dwtpversion=1.0 eclipse:clean
清除Eclipse项目的配置信息(Web项目)
mvn eclipse:eclipse
将项目转化为Eclipse项目
发布第三方Jar到本地库中:
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar
mvn -e
mvn validate
mvn integration-test
mvn verify
mvn generate-sources
mvn -v 显示版本
mvn help:describe -Dplugin=help 使用 help 插件的
mvn help:describe -Dplugin=help -Dfull 使用Help 插件输出完整的带有参数的目标列
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 获取单个目标的信息,设置
mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 插件可用的目标
mvn help:effective-pom 看这个“有效的 (effective)”POM,它暴露了 Maven的默认设置
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 创建Maven的普通java项目,在命令行使用Maven Archetype 插件
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 插件让我们能够在不往 classpath 载入适当的依赖的情况下,运行这个程序
mvn dependency:resolve 打印出已解决依赖的列表
mvn dependency:tree 打印整个依赖树
mvn install -X 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行
mvn install -Dmaven.test.skip=true 给任何目标添加maven.test.skip 属性就能跳过测试
mvn install assembly:assembly 构建装配Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件
mvn clean install 删除再编译
mvn hibernate3:hbm2ddl 使用 Hibernate3 插件构造数据库
注意:
这些都是maven常用命令,每个命令都是一个插件,很多都是官方的,但是由于maven是开源的并且自由定义插件,所以命令远远不止这些,每个厂商都有自己喜好和定义的,我会在以后陆续更新我见到比较好的。