`
frank1998819
  • 浏览: 758612 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

mvn 用法(转)

 
阅读更多
mvn 用法
 
1、查看版本、打包
mvn -v

mvn clean

mvn package(直接打包)

mvn package -Dmaven.test.skip=true (跳过测试代码的编译)

 
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的本地仓库中
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
可以看到当前项目已解析的依赖
mvn dependency:tree 看到依赖树
mvn dependency:analyse 查看依赖的工具
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文件
分享到:
评论

相关推荐

    匹处理mvn命令用法

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

    Mvn常用命令总结

    掌握Maven的基本使用方法对于进行Java项目的开发和维护至关重要。本文将详细介绍Maven中常用的命令及其应用场景。 #### 1. 显示Maven版本信息:`mvn -v` 该命令用于查看当前系统上安装的Maven版本以及Java版本等...

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

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

    mvn配置命令文档

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

    java+mvn爬虫

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

    mvn install:install-file -Dfile

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

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

    使用方法: 1. **解压**:首先需要将下载的ZIP文件解压缩到本地文件系统中。 2. **Maven环境**:确保你的机器上已经安装了Maven,并配置好了Maven的环境变量。 3. **定位到项目目录**:进入解压后的项目根目录。 4. ...

    springmvn搭建的Maven项目入门

    - 创建一个Java类,标记为@Controller,定义处理请求的方法,使用@RequestMapping注解指定URL映射。 - 在方法中返回字符串,该字符串会被视图解析器解析为JSP页面或视图模板。 5. **创建视图层** - 创建`src/...

    springmvc+mvn+mybatis+mysql示例源码

    【标题】"springmvc+mvn+mybatis+mysql示例源码"是一个演示如何将Spring MVC、MyBatis和MySQL数据库集成到一起的Java Web项目。这个项目使用Maven作为构建工具,使得依赖管理和项目构建更为规范和高效。下面我们将...

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

    解决这个问题的方法是,检查类的路径是否正确,或者返回上一层目录,再使用该命令。 本文档介绍了 Storm 编程实践的实践报告,涵盖了安装 Maven、使用 Maven 编译运行代码和 mvn 打包等内容。报告中还包括了实验...

    mvn_resp.rar

    2. 编写响应式代码:使用Reactor的Mono或Flux类型来定义数据流,如`Mono&lt;Void&gt; handle(ServerRequest request)`方法。 3. 配置Maven:调整pom.xml中的配置,确保项目构建时包含Reactive相关的编译选项。 4. 测试:...

    springmvc+mybats+freemark(mvn)

    4. 在Controller中编写方法,调用Service层处理业务逻辑,通过ModelAndView或Model对象将数据传递给视图。 5. 使用MyBatis的Mapper接口执行数据库操作,通过注解或XML配置SQL语句。 通过以上介绍,我们可以看到...

    mvn-get:mvn-get 是一个用于快速检查和设置库依赖项的 Java 工具包

    用法 mvn-获取帮助 honda@ubuntu:/var/lib/tomcat7/webapps/ROOT/WEB-INF/lib$ mvn-get help Commands: mvn-get deps LIBRARY_NAME # check dependencies of LIBRARY_NAME mvn-get help [COMMAND] # Describe ...

    aliyun-oss-java-sdk-demo-mvn

    这个“aliyun-oss-java-sdk-demo-mvn”项目是一个使用Java语言实现的,通过Maven构建的示例工程,用于演示如何将文件上传到阿里云OSS。下面我们将深入探讨这个SDK和如何使用它进行文件上传。 1. **阿里云OSS Java ...

    mvn mybatis-generator:generate配置文件

    在Maven中,你可以在pom.xml中添加`mybatis-generator-maven-plugin`,然后运行`mvn mybatis-generator:generate`命令。 7. **版本兼容性**: 确保MBG版本与MyBatis和数据库驱动版本兼容,避免出现不兼容的问题。 ...

    mvn初步使用

    本文旨在介绍Maven的基础安装与使用方法,尤其适合那些希望快速上手Maven的开发人员。 #### 二、Maven的安装 ##### 2.1 下载与安装 1. **下载Maven** 首先,需要从官方站点下载Maven的最新版本。本文档以Maven ...

    maven2书中代码 mvn-examples-1.0

    `mvn-examples-1.0`是一个示例集合,用于展示Maven2的核心功能和用法。这个压缩包中的代码例子可以帮助我们深入理解Maven的工作原理以及如何有效地利用它来简化项目的构建过程。 1. **Maven项目结构**: Maven遵循...

    mvn-search:讨厌search.maven.org UI的命令行界面

    mvn-search用于搜索Maven ...用法: mvn-search 这将列出找到的工件及其最新版本号。 选择坐标后,该工具将显示要粘贴到pom.xml的maven 标记。 例子: mvn-search hibernate-validator mvn-search g:org.slf4j

    mvn_scalafmt:Maven的Scalafmt插件

    概要包装器,允许在Maven中使用格式化程序。用法将以下代码段添加到pom中。 注意: version.scala.binary是指scala的主要版本,即。 2.11、2.12或2.13。 mvn_scalafmt_2.11即将被弃用,可能不会收到将来的版本版本...

Global site tag (gtag.js) - Google Analytics