Java学习笔记24:Mvn常用命令

时间:2021-09-21 21:55:04
  1. mvn archetype:create :创建 Maven 项目
  2. mvn compile :编译源代码
  3. mvn test-compile :编译测试代码
  4. mvn test : 运行应用程序中的单元测试
  5. mvn site : 生成项目相关信息的网站
  6. mvn clean :清除目标目录中的生成结果
  7. mvn package : 依据项目生成 jar 文件
  8.  mvn install :在本地 Repository 中安装 jar
  9.  mvn eclipse:eclipse -U:生成 Eclipse 项目文件
  10. 建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.happyelements -DartifactId=payment-store
  11. 建一个 web 项目 : mvn archetype:create -DgroupId=com.happyelements -DartifactId=payment-store -DarchetypeArtifactId=maven-archetype-webapp


转:

Maven库:

http://repo2.maven.org/maven2/

Maven依赖查询:

http://mvnrepository.com/

Maven常用命令: 
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  

ps: 

一般使用情况是这样,首先通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。 

mvn -version/-v  显示版本信息 
mvn archetype:generate        创建mvn项目 
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app   创建mvn项目 

mvn package            生成target目录,编译、测试代码,生成测试报告,生成jar/war文件 
mvn jetty:run            运行项目于jetty上, 
mvn compile                    编译 
mvn test                    编译并测试 
mvn clean                    清空生成的文件 
mvn site                    生成项目相关信息的网站 
mvn -Dwtpversion=1.0 eclipse:eclipse        生成Wtp插件的Web项目 
mvn -Dwtpversion=1.0 eclipse:clean        清除Eclipse项目的配置信息(Web项目) 
mvn eclipse:eclipse                将项目转化为Eclipse项目 

在应用程序用使用多个存储库 
<repositories>    
    <repository>      
        <id>Ibiblio</id>      
        <name>Ibiblio</name>      
        <url>http://www.ibiblio.org/maven/</url>    
    </repository>    
    <repository>      
        <id>PlanetMirror</id>      
        <name>Planet Mirror</name>      
        <url>http://public.planetmirror.com/pub/maven/</url>    
    </repository>  
</repositories> 


mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/ 


发布第三方Jar到本地库中: 

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 

mvn -e            显示详细错误 信息. 

mvn validate        验证工程是否正确,所有需要的资源是否可用。 
mvn test-compile    编译项目测试代码。 。 
mvn integration-test     在集成测试可以运行的环境中处理和发布包。 
mvn verify        运行任何检查,验证包是否有效且达到质量标准。     
mvn generate-sources    产生应用需要的任何额外的源代码,如xdoclet。 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lifxue/archive/2009/10/14/4662902.aspx 

常用命令: 
mvn -v 显示版本 
mvn help:describe -Dplugin=help 使用 help 插件的  describe 目标来输出 Maven Help 插件的信息。 
mvn help:describe -Dplugin=help -Dfull 使用Help 插件输出完整的带有参数的目标列 
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 获取单个目标的信息,设置  mojo 参数和  plugin 参数。此命令列出了Compiler 插件的compile 目标的所有信息 
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 jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用 
mvn compile 编译你的项目 
mvn clean install 删除再编译 

mvn hibernate3:hbm2ddl 使用 Hibernate3 插件构造数据库


Maven常用命令有:

1. 创建Maven的普通java项目:
 mvn archetype:create 
 -DgroupId=com.codeline.commons 
 -DartifactId=pjoName 
 

2. 创建Maven的Web项目: 
 mvn archetype:create 
 -DgroupId=com.mycompany.app 
 -DartifactId=my-webapp 
 -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下载Jar包同时下载源文件和文档mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc
 注册到本地库
 mvn install:install-file -DgroupId=dbpool -DartifactId=dbpool -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Dfile=/home/.../dbpool-0.0.1-SNAPSHOT.jar

1、<project>元素为pom.xml的根元素,以下列表列出了它所有的子元素

parent

父项目的位置。父项目的位置由group ID,artifact ID和version指定。

modelVersion

声明pom.xml文件遵从的版本

groupId

全局性唯一的项目标识符。通常使用完全限定的包名来和其它项目区隔(比如,org.apache.maven

artifactId

在给定gorupId内唯一的产品标识符。Artifact就是由项目输出的,或者由项目所使用的东西。比如由Maven项目输出的artifacts包括:JAR文件,war文件,ear文件等。

packaging

此项目输出的artifact的类型,比如jar,war,ear pom。插件能够创建他们自己的packaging,所以,这里没有列出所有可能的类型。

name

项目的名称

version

此项目输出的artifact的当前版本。

description

此项目的详细描述,被maven用来在需要的地方描述项目,比如web站点。而此元素可以使用CDATA,让description里可以包含HTML标签。

url

项目主页的URL

prerequisites

描述此项目构建环境的先决条件

issueManagement

描述此项目的发布管理系统信息

ciManagement

此项目的持续集成信息

inceptionYear

此项目开始年份,用四位整数指定。当产生版权信息时使用

mailingLists

项目的邮件列表信息

developers

项目的开发小组

contributors

项目的贡献者,但不属于开发小组

licenses

本项目的许可。这里的许可是对本项目的许可,而不是对依赖项的许可。如果有多个许可,那么用户可以选择其中之一,而不必全部。

scm

指定此项目使用的源代码控制系统,如SVN等等。用于持续集成

organization

描述此项目所属的机构。

build

构建此项目所需的信息。

profiles

项目本地构建文件列表,如果使用,可改变默认构建过程。

modules

作为本项目一部分的模块(子项目)。

repositories

依赖项和扩展项的远程仓库。

pluginRepositories

构建所需插件的远程仓库。

dependencies

此项目的所有依赖项列表。这些依赖项在构建过程中用于构造所需的classpath。这些依赖项在构建时会自动下载。

reports

Deprecated。Maven现在忽略此元素。

reporting

此元素包含用于在Maven产生的项目站点中产生报表的插件的规格。这些报表在执行mvn site命令时运行,所有报表出现在导航条上。

dependencyManagement

所有项目的依赖信息继承于此。这一节中的依赖项并不马上解析。事实上,当一个继承于此的POM使用groupId和artifactId定义一个依赖项时,当版本信息和其他信息没有指定时,才会使用这里的依赖项定义。

distributionManagement

此项目的分发信息。

properties

在POM可以用作替代,以及用于资源过滤。

2、parent

artifactId

父项目的artifact标识符

groupId

父项目的group标识符

version

父项目的版本

relativePath

父项目的pom.xml文件的相对路径。默认值为../pom.xml。maven首先从当前构建项目开始查找父项目的pom文件,然后从本地仓库,最有从远程仓库。RelativePath允许你选择一个不同的位置。

3、prerequisites 项目先决条件

maven

构建此项目所需的maven的最低版本

4、issueManagement 用于管理此项目的发布和跟踪(暂时不了解其用途

system

构建此项目所需的maven的最低版本

url

此项目使用的发布管理系统的URL

   

5、ciManagement

system

持续集成系统的名称,比如hudson

url

此项目使用的持续集成系统的URL,如果有WEB界面的话。

notifiers

配置用户信息和通知模式,当构建成功通知开发人员/用户,

6、notifier 配置通知方法,当自动构建中断时,通知用户/开发人员,用于持续集成。

Type

投递通知的机制

SendOnError

是否发送错误通知

SendOnFailure

是否发送失败通知

SendOnSuccess

是否发送成功通知

SendOnWarning

是否发送警告通知

Address

Deprecated。发送通知的地址,通常为email地址

Configuration

附加配置信息

7mailingList此项目的邮件列表。自动产生的站点将引用此信息,用于持续集成。

Name

邮件列表的名称

Subscribe

订阅此邮件列表的email地址或连接。如果是email地址,产生文档时会自动生成mailto:连接

Unsubscribe

退订此邮件列表的email地址或连接。如果是email地址,产生文档时会自动生成mailto:连接

Post

可以投递到此邮件列表的email地址或连接。如果是email地址,产生文档时会自动生成mailto:连接

Archive

可以浏览到邮件列表存档信息的URL

OtherArchives

可选的替代URLs,用于浏览邮件存档信息列表