`
gelongmei
  • 浏览: 209497 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

mvn 使用

 
阅读更多
常用命令为 :
    mvn archetype:create :创建 Maven 项目
    mvn compile :编译源代码
    mvn test-compile :编译测试代码
    mvn test : 运行应用程序中的单元测试
    mvn site : 生成项目相关信息的网站
    mvn clean :清除目标目录中的生成结果
    mvn package : 依据项目生成 jar 文件
    mvn install :在本地 Repository 中安装 jar
    mvn deploy:将jar包发布到远程仓库
    mvn eclipse:eclipse :生成 Eclipse 项目文件
生成项目
   建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.test -DartifactId=App
   建一个 web 项目 : mvn archetype:create -DgroupId=com.test -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
解释:
   archetype 是一个内建插件,它的create任务将建立项目骨架
   archetypeArtifactId 项目骨架的类型
   groupId 项目的java包结构,可修改 artifactId 项目的名称,生成的项目目录也是这个名字,可修改
可用项目骨架有:
   maven-archetype-archetype
   maven-archetype-j2ee-simple
   maven-archetype-mojo
   maven-archetype-portlet
   maven-archetype-profiles (currently under development)
   maven-archetype-quickstart
   maven-archetype-simple (currently under development)
   maven-archetype-site
   maven-archetype-site-simple
   maven-archetype-webapp


mvn install:install-file -DgroupId=com.outside.jsoup -DartifactId=jsoup -Dversion=1.0_releases -Dpackaging=jar -Dfile=E:\workspace\myspace\globe\lib\jsoup-1.6.1.jar



mvn deploy:deploy-file -DgroupId=com.outside.jsoup -DartifactId=jsoup -Dversion=1.6.1 -Dpackaging=jar -Dfile=E:\workspace\myspace\globe\lib\jsoup-1.6.1.jar -Durl=http://dev.game.yy.com/nexus/content/repositories/releases/ -DrepositoryId=releases


mvn install:install-file -Dfile=E:\workspace\admin\tag\target\admin-0.0.2-SNAPSHOT.jar -DgroupId=com.duowan.commons -DartifactId=default-jar -Dversion=2.0.2-SNAPSHOT -Dpackaging=jar

mvn install:install-file -Dfile=/home/fushimei/admin-0.0.2-SNAPSHOT.jar -DgroupId=com.duowan.commons -DartifactId=default-jar -Dversion=2.0.2-SNAPSHOT -Dpackaging=jar


mvn archetype:create-from-project  完成后到 target/gexxx../archetype/ 下执行 mvn install

mvn archetype:generate -DarchetypeCatalog=local ;// -Dgoals=antrun:run












mvn exec:java -Dexec.mainClass=



mvn test -Dmaven.test.failure.ignore=true



mvn dependency:analyze-only





首页 资讯 精华 论坛 问答 博客 专栏 群组 更多 ▼
您还未登录 ! 登录 注册
jackyrong

    博客
    微博
    相册
    收藏
    留言
    关于我

MVN学习笔记1

    博客分类:
    JAVA相关

mavenSpringjunitApacheXML
mvn学习笔记1


1 mvn -v查看版本

2 设置代理
   编辑settings.xml文件
   <proxies>
   <proxy>
       <id>abc</id>
       <active>true</active>
      <protocol>http</protocol>
        <host> </host>
     <port></port>
      <username>...</username>
    <password>....</password>
     <nonProxyHosts>.....</nonProxyHosts>
     </proxy>

</proxies>
   nonproxyhosts指定哪些主机名不使用代理


3   mvn clean install会把生成的jar打包到MAVEN的本地仓库中
4  在dependency中,当<scope>为test时,说明该依赖包只会加入到测试代码中去

5 maven的编译依赖范围:
   compile:默认使用该依赖,对编译,测试,运行三种classpath 都有效
   test: 只对测试时有效,如junit
   provided:在运行时无效,对编译和测试有效,如servlet-api
   runtime:如JDBC,对测试和运行有效,在编译时无效
6 归类依赖
   比如spring下的很多模块,都是同一个项目的,版本都相同,则为了优化,可以这样,

先定义一个<properties>项,即
   <properties>
   <abc>1.0</abc>
</properties>
 
    然后其他的dependcy中,可以这样
     <version>${abc}</version>

7 mvn dependency:list
   可以看到当前项目已解析的依赖
  
  
   [IMPORTENT]
   mvn dependency:tree  看到依赖树
  
   scope(compile,..,import)
  
  
    mvn dependency:analyse 查看依赖的工具
    org.apache.maven.plugin.MojoNotFoundException: Could not find goal 'analyse' in plugin org.apache.maven.plugins:maven-dependency-plugin:2.1 among available goals unpack-dependencies, go-offline, copy-dependencies, analyze-dep-mgt, list, purge-local-repository, help, get, build-classpath, sources, analyze-report, analyze, tree, unpack, resolve, copy, analyze-only, resolve-plugins
   
8 MVN的仓库
    MVN仓库的路径形式为groupId/artifactId/version/articatId-version.packagin
  仓库分为本地仓库和远程仓库
    本地仓库的路径修改,可以修改settings.xml
   <settings>
    <localRepository>d:\java\......</localRepository>
</settings>

9 MVN的生命周期:clean(清理项目),default是构建项目,site是建立项目站点

10 命令行与生命周期
    mvn clean
      mvn test
    mvn clean install
     mvn clean deploy site-depoly

    MVN的插件和目标对应的关系   dependcy:analyze 冒号前面是插件前缀,冒号后面是

插件的目标


11 聚合
   当想一次过构建多个模块时,可以使用聚合,关系是包含和被包含的关系:
   <modules>
      <module>..  </module>
       <module>.....</module>
</modules>
12 继承
   抽取一个parent.pom,比如:
   <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>com.juvenxu.mvnbook.account</groupId>
<artifactId>account-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Account Parent</name>
<properties>
<springframework.version>2.5.6</springframework.version>
<junit.version>4.7</junit.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>


<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-

plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>


<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-

plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
   这里有定义了父的依赖和插件。而子的继承则变为:
<parent>
<groupId>com.juvenxu.mvnbook.account</groupId>
<artifactId>account-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../account-parent/pom.xml</relativePath>
</parent>
。。。。这里定义具体的依赖,其依赖不需要版本号了,比如这样:
  <dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
       </dependencies>



13 剪裁反应堆
   比如多个模块的话,有可能只是选取其中的某些部分:
  比如mvn-aggragtor下有mvn-email,mvn-parent,mvn-persist,mvn-email依赖mvn-

parent,则
  mvn clean install -pl account-email -am
-pl:构建指定的模块,模块间用逗号分割 -am:同时构健模块的所依赖的模块


14 默认情况下,maven-surefile-plugin的test目标会自动执行测试
src/test/java下的一组命名模式的测试类,该组模式为
   **/Test*.java:
   **/*Test.java:
   **/*TestCase.java:
  跳过测试:mvn package-DskipTests
  跳过测试代码的编译:  mvn package-Dmaven.test.skip=true
15 只运行指定的测试:
   mvn test-Dtest=类名
    匹配
   mvn test-Dtest=Random*Test
   在pom中,可以自动运行以Tests结尾的测试类
       <plugin>
   <configuration>
     <includes>
     <include>**/*Tests.java</include>
    </includes>
    同样可以用<excludes><exclude>去排除运行测试的类

16 测试覆盖率报告
   mvn跟开源测试覆盖率统计工具 合成,比如
   mvn cobertura:cobertura
  之后在target/site/cobertura下看到index.html文件
分享到:
几篇介绍百度地图API的好文 | (转)gallary和imageswitcher

    2011-03-01 14:32
    浏览 2341
    评论(0)
    分类:企业架构
    相关推荐

评论
发表评论

您还没有登录,请您登录后再发表评论
jackyrong的博客
jackyrong

    浏览: 990324 次
    性别: Icon_minigender_1
    来自: 广州

最近访客 更多访客>>
lyd8935的博客
lyd8935
tortoise88的博客
tortoise88
hunter_hsq的博客
hunter_hsq
笑瞰人生天字号的博客
笑瞰人生天字号
文章分类

    全部博客 (1665)
    软件工程 (58)
    JAVA相关 (290)
    ajax/web相关 (205)
    数据库相关/oracle (181)
    PHP (142)
    UNIX/LINUX/FREEBSD/solaris (81)
    音乐探讨 (1)
    闲话 (11)
    网络安全等 (14)
    .NET (153)
    ROR和GOG (10)
    [网站分类]4.其他技术区 (180)
    算法等 (6)
    [随笔分类]SOA (8)
    收藏区 (71)
    金融证券 (4)
    [网站分类]5.企业信息化 (3)
    c&c++学习 (1)
    读书区 (11)
    其它 (9)
    收藏夹 (1)
    设计模式 (1)
    FLEX (13)
    Android (95)
    软件工程心理学系列 (2)
    HTML5 (2)
    C/C++ (0)
    数据结构 (0)
    书评 (2)
    python (3)

社区版块

    我的资讯 (1)
    我的论坛 (33)
    我的问答 (2)

存档分类

    2013-01 (10)
    2012-12 (26)
    2012-11 (16)
    更多存档...

评论排行榜

    spring 3中的@async初探
    Resteasy转换JAXB和json
    用apache common io包获得文件扩展名
    关注google的guava工具包
    spring mongodb中去掉_class列

最新评论

    zean: vsd可以?openoffice不支持吧,我现在还头疼呢.
    flexpaper组件中关于隐藏真实的swf 地址下载
    jackyrong: hehe,跟学友合照的
    ajax post中在firefox返回值一个值得注意的地方
    wingsrao: 楼主头像有故事
    ajax post中在firefox返回值一个值得注意的地方
    焦志广: 有源码包么?上传一个
    10分钟使用CXF和SPRING创建REST webservice应用
    jackyrong: 这个有点旧,不少还是有的,我到时更新下吧
    收集下阿里集团下的技术BLOG

声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者。
© 2003-2012 ITeye.com. All rights reserved. [ 京ICP证110151号 京公网安备110105010620 ]





还有一个地方需要调整




[INFO] Copying webapp resources [/data/hudson_home/jobs/Shop-trade/workspace/trade-web/src/main/webapp]
[INFO] Copying webapp resources [/data/hudson_home/jobs/  gamecard/workspace/zadan    /src/main/webapp]
分享到:
评论

相关推荐

    Mvn 使用文档

    【Maven 使用文档】 Maven 是一款强大的项目管理和构建工具,源自 Apache,发音为 `[meivin]`,意为“专家”。它以其强大的依赖管理和项目构建生命周期而著名,极大地简化了 Java 开发过程中的构建、测试和部署任务...

    Cmd执行mvn clean package 命令使用文档

    ### Cmd执行mvn clean package命令使用详解 #### 一、Maven简介 Maven是一款Java项目的构建工具,它提供了一套完整的项目信息管理和构建方法,能够帮助开发者更方便地进行项目构建、依赖管理以及生命周期管理等工作...

    mvn 常用命令手册mvn开发必备

    ### MVN常用命令详解 Maven 是一个项目管理和理解工具,它包含了一个项目对象模型 (POM),一组标准集合,一个项目生命周期,一个依赖管理机制,用于运行构建任务的插件集合,以及用来扩展现有功能的插件机制。在...

    mvn常用命令行

    使用 `mvn archetype:create` 创建项目,通过 `-DgroupId` 和 `-DartifactId` 参数指定项目的基本信息。例如,创建一个名为 "my-app" 的项目,可以输入: ``` mvn archetype:create -DgroupId=...

    Mvn常用命令总结

    使用`mvn jetty:run`可以快速启动一个内嵌的Jetty服务器,并加载项目的web应用。这对于Web项目的开发提供了极大的便利。 #### 5. 编译源代码:`mvn compile` 该命令仅负责编译项目中的Java源代码,不会执行任何...

    maven settings.xml配置国内阿里云镜像

    之前找了很多个镜像配置,一直无法更新,好不容易找了一个可以用的,希望可以帮到大家

    java+mvn爬虫

    总结:这个“java+mvn爬虫”项目提供了一个使用Java和Maven构建爬虫的基础框架,可以帮助开发者快速入门爬虫技术。通过学习和实践这个项目,你可以掌握HTTP请求、HTML解析以及依赖管理的基本技能,为进一步深入研究...

    mvn.bat文件

    mvn.bat

    canal文件,下载后直接mvn_install即可使用.zip

    【标题】:“canal文件,下载后直接mvn_install即可使用.zip” 【描述】:这段描述反复提到了“canal文件”以及“下载后直接mvn_install即可使用”,这意味着我们讨论的是一个关于Canal项目的软件包,这个包是用ZIP...

    mvn常用命令

    MVN常用命令 MVN(Maven)是一款基于项目对象模型(POM)的项目管理工具,它可以帮助开发者管理项目的依赖关系、编译、测试、打包和部署。下面是MVN的常用命令: 创建Maven项目 1. 创建Maven的普通Java项目:`mvn...

    mvn release 配置说明

    `mvn release`是Maven项目管理工具中的一个插件,用于执行软件版本的发布流程。这个流程通常包括准备发布的新版本,创建源码和二进制的归档,然后在版本控制系统中提交这些更改。在本文中,我们将深入探讨`mvn ...

    mvn配置命令文档

    ### Maven配置与常用命令详解 ...以上内容涵盖了Maven的基础配置及常见命令的使用方法,同时对POM文件的关键元素进行了详细介绍。通过这些内容的学习,可以帮助开发者更好地理解和使用Maven进行项目构建与管理。

    mvn-download

    在Java开发过程中,Maven(MVN)是一个广泛使用的依赖管理工具,它使得开发者能够方便地管理和构建项目。"mvn-download"这个话题是关于如何通过Maven的命令行工具来下载特定的JAR(Java Archive)包。下面将详细解释...

    使用dos命令实现mvn的自动编译以及test case的运行

    标题 "使用dos命令实现mvn的自动编译以及test case的运行" 描述了如何在DOS命令行环境中利用Maven(mvn)工具进行自动化编译和测试用例的执行。这一主题对于任何Java开发者来说都至关重要,因为它涉及到项目构建自动...

    mvn install:install-file -Dfile

    mvn install单独jar到仓库使用方法举例

    匹处理mvn命令用法

    本文将深入探讨“匹处理mvn命令用法”,结合提供的标签“源码”和“工具”,我们将主要关注如何使用Maven的命令行工具(CMD)来管理Java项目。 **Maven简介** Maven是由Apache软件基金会开发的一个项目管理和综合...

    jspm-mvn:JSPM的Maven注册中心端点

    该软件包为提供了maven... 由于jspm-mvn使用真正的maven(因此使用Java帮助器),因此您甚至可以使用mvn deploy部署到任何maven存储库,并且maven将使用您的maven规则为更新和快照间隔找到并下载jspm-mvn的仓库。 安装

    Storm编程实践(安装Maven-使用Maven编译运行代码-mvn 打包)

    Storm 编程实践(安装 Maven-使用 Maven 编译运行代码-mvn 打包) 本文档介绍了 Storm 编程实践的实践报告,涵盖了安装 Maven、使用 Maven 编译运行代码和 mvn 打包等内容。报告中还包括了实验环境的配置、实验内容...

    mvn+svn+linux打包

    标题中的“mvn+svn+linux打包”涉及的是在Linux环境下使用Maven(mvn)和Subversion(svn)工具进行软件项目的构建和版本控制。这里我们将深入探讨这三个关键概念及其在软件开发过程中的作用。 1. Maven: Maven是...

Global site tag (gtag.js) - Google Analytics