1、常用maven仓库
2、生成项目
2.1、创建Maven的普通Java项目
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2.2、创建Maven的Web项目
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
2.3、反向生成 maven 项目的骨架
mvn archetype:generate
3、发布代码到远程仓库
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar
-DdownloadSources=true
-DdownloadJavadocs=true
4、常用命令
命令 | 描述 |
---|
mvn –version | 显示版本信息 |
mvn clean | 清理项目生产的临时文件,一般是模块下的target目录 |
mvn compile | 编译源代码,一般编译模块下的src/main/java目录 |
mvn package | 项目打包工具,会在模块下的target目录生成jar或war等文件 |
mvn test | 测试命令,或执行src/test/java/下junit的测试用例. |
mvn install | 将打包的jar/war文件复制到你的本地仓库中,供其他模块使用 |
mvn deploy | 将打包的文件发布到远程参考,提供其他人员进行下载依赖 |
mvn site | 生成项目相关信息的网站 |
mvn eclipse:eclipse | 将项目转化为Eclipse项目 |
mvn dependency:tree | 打印出项目的整个依赖树 |
mvn archetype:generate | 创建Maven的普通java项目 |
mvn tomcat:run | 在tomcat容器中运行web应用 |
mvn jetty:run | 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用 |
注意:运行maven命令的时候,首先需要定位到maven项目的目录,也就是项目的pom.xml文件所在的目录。否则,必以通过参数来指定项目的目录。
5、命令参数
命令 | 描述 |
---|
-D | 以-D 开头,将maven.test.skip 的值设为true ,就是告诉maven打包的时候跳过单元测试 |
-P | 使用指定的Profile配置 |
-e | 显示maven运行出错的信息 |
-o | 离线执行命令,即不去远程仓库更新包 |
-X | 显示maven允许的debug信息 |
-U | 强制去远程更新snapshot的插件或依赖,默认每天只更新一次 |
6、三方仓库
<mirror>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>repo2</id>
<name>Mirror from Maven Repo2</name>
<url>http://repo2.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>ui</id>
<name>Mirror from UK</name>
<url>http://uk.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
7、maven骨架图
archetype | 说明 |
---|
appfuse-basic-jsf | (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型) |
appfuse-basic-spring | (创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型) |
appfuse-basic-struts | (创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型) |
appfuse-basic-tapestry | (创建一个基于Hibernate, Spring 和 Tapestry 4的Web应用程序的原型) |
appfuse-core | (创建一个基于 Hibernate and Spring 和 XFire的jar应用程序的原型) |
appfuse-modular-jsf | (创建一个基于 Hibernate,Spring和JSF的模块化应用原型) |
appfuse-modular-spring | (创建一个基于 Hibernate, Spring 和 Spring MVC 的模块化应用原型) |
appfuse-modular-struts | (创建一个基于 Hibernate, Spring 和 Struts 2 的模块化应用原型) |
appfuse-modular-tapestry | (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型) |
maven-archetype-j2ee-simple | (一个简单的J2EE的Java应用程序) |
maven-archetype-marmalade-mojo | (一个Maven的 插件开发项目 using marmalade) |
maven-archetype-mojo | (一个Maven的Java插件开发项目) |
maven-archetype-portlet | (一个简单的portlet应用程序) |
maven-archetype-profiles | () |
maven-archetype-quickstart | () |
maven-archetype-site-simple | (简单的网站生成项目) |
maven-archetype-site | (更复杂的网站项目) |
maven-archetype-webapp | (一个简单的Java Web应用程序) |
jini-service-archetype | (Archetype for Jini service project creation) |
softeu-archetype-seam | (JSF+Facelets+Seam Archetype) |
softeu-archetype-seam-simple | (JSF+Facelets+Seam (无残留) 原型) |
softeu-archetype-jsf | (JSF+Facelets 原型) |
jpa-maven-archetype | (JPA 应用程序) |
spring-osgi-bundle-archetype | (Spring-OSGi 原型) |
confluence-plugin-archetype | (Atlassian 聚合插件原型) |
jira-plugin-archetype | (Atlassian JIRA 插件原型) |
maven-archetype-har | (Hibernate 存档) |
maven-archetype-sar | (JBoss 服务存档) |
wicket-archetype-quickstart | (一个简单的Apache Wicket的项目) |
scala-archetype-simple | (一个简单的scala的项目) |
lift-archetype-blank | (一个 blank/empty liftweb 项目) |
lift-archetype-basic | (基本(liftweb)项目) |
cocoon-22-archetype-block-plain | ([http://cocoapacorg2/maven-plugins/]) |
cocoon-22-archetype-block | ([http://cocoapacorg2/maven-plugins/]) |
cocoon-22-archetype-webapp | ([http://cocoapacorg2/maven-plugins/]) |
myfaces-archetype-helloworld | (使用MyFaces的一个简单的原型) |
myfaces-archetype-helloworld-facelets | (一个使用MyFaces和Facelets的简单原型) |
myfaces-archetype-trinidad | (一个使用MyFaces和Trinidad的简单原型) |
myfaces-archetype-jsfcomponents | (一种使用MyFaces创建定制JSF组件的简单的原型) |
gmaven-archetype-basic | (Groovy的基本原型) |
gmaven-archetype-mojo | (Groovy mojo 原型) |