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 install单独jar到仓库使用方法举例
NULL 博文链接:https://lijun0349-163-com.iteye.com/blog/1969624
用法 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 ...
mvn-search用于搜索Maven ...用法: mvn-search 这将列出找到的工件及其最新版本号。 选择坐标后,该工具将显示要粘贴到pom.xml的maven 标记。 例子: mvn-search hibernate-validator mvn-search g:org.slf4j
用法 java -jar lib/mvn-p2-dependencies-1.0-SNAPSHOT-jar-with-dependencies.jar -repo /Users/ruchira/.m2/repository -id org.wso2.store -version 2.1.0.SNAPSHOT 输出 cannot find org.wso2.carbon.core.ui:...
概要包装器,允许在Maven中使用格式化程序。用法将以下代码段添加到pom中。 注意: version.scala.binary是指scala的主要版本,即。 2.11、2.12或2.13。 mvn_scalafmt_2.11即将被弃用,可能不会收到将来的版本版本...
maven的使用_看到一篇很实用的入门教程(菜鸟级入门).docmaven的使用_看到一篇很实用的入门教程(菜鸟级入门).doc
MvnRunner 一个用于maven模块的IntelliJ插件,由mvn构建,运行单元测试和主要方法。插件做了什么?针对maven管理的Java项目,添加maven模块内置菜单;在运行和调试两个菜单项上添加maven的处理方式,根据直接调用...
使用sencha cmd 构建extjs mvn框架
Maven多模块项目编译速度慢,下面我们来学习下优化的方法。 mvn clean package -T 4C -Dmaven.test.skip=true -Dmaven.compile.fork=true -T 4C 代表本机4个CPU内核都参与编译工程, -Dmaven.test.skip=true 代表...
它是用Java编写的和和的替代方法。 至少,对于简单的依赖关系升级机会。 它不是纯Python,它仍然在后台运行Maven的dependency:tree 。 该脚本由贡献而开发。 脚本依赖 该脚本使用 ( )和( ) $ pip3 install ...
mvn-dev-proxy ...要开始使用这个 maven 插件,你只需要在 maven pom 文件中声明它,如下所示: <groupId>com.github.alexvictoor</groupId> <artifactId>mvn-dev-proxy <version>0.1 </plugin>
mvnrepository | 客户 该...dependency> 或Gradle:compile ' com.github.devcsrj:mvnrepository-api-client:${mvnrepo.version} '用法使用工厂方法create创建实例: MvnRepositoryApi api = MvnRepositoryApi . crea
在windows下使用maven打包,生成jar包。并使用java -jar *.jar运行。 讲述maven各种打包插件的问题。及解决方法。
用法 cd ${MVN_PROJ} mvn dependency:build-classpath -Dmdep.outputFile= ${DependencyFinder.DIR} /classpath.txt java -cp . com.github.t8keru.DependencyFinder " com.xxx.Klass " " org.xxx.Klass " 安装 sh ...
Maven下使用Jetty进行Debug maven 下面 debug 一直很好麻烦 本方是一种方法
用法 python3 mvn_scrapper.py [repository name] [sorting criteria] [sleep duration in seconds between requests] [maximum tries per url] [download_all] 解释 存储库名称可以是以下任何一个:[“ jcenter”...
#gradle_mvn_push_for_jar我使用了的并将它的jar修改为我的 。 THX克里斯! 也许您需要的完整指南。 ##用法 ### 1。将文件下载到您的项目根目录中将“ build.gradle”和“ gradle.properties”下载到您的...
otf2ttf 使用将OTF转换为TTF。 从迁移到Java版本,并修复了无法转换大型OTF文件的问题。安装安装和 。 下载预置的二进制文件并解。 构建otf2ttf git clone ...
Gencov 生成随机协方差矩阵,并使用它们绘制MVN样本。协方差矩阵: genS和genArray函数产生具有指定方差结构的随机协方差矩阵(如ndarray或javascript数组)。 可以指定协方差矩阵的特征值(主成分方差)V,或者可以...