(一)常用命令
1)Maven 导出依赖lib 并打包
mvn clean dependency:copy-dependencies -DoutputDirectory=target/classes/lib -DincludeScope=runtime package
2)忽略测试错误
mvn test -Dmaven.test.failure.ignore=true
3) 安装跳过单元测试
mvn install -Dmaven.test.skip=true
4)运行
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main
好处:不用向classpath中添加所有的依赖
好处:不用向classpath中添加所有的依赖
5)独立jar加入本地仓库
mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar
如:mvn install:install-file -DgroupId=org.apache.commons -DartifactId=commons-email -Dversion=1.3.2 -Dpackaging=jar -Dfile=E:\workspace\sca-crawler\lib\commons-email-1.3.2.jar
6)查看插件信息
mvn help:describe -Dplugin=exec -Dfull
(二)插件定制
向插件传参数定制行为
1)设置主类
2)测试过程测试失败错误:mvn test
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <outputDirectory>target</outputDirectory> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>./lib/</classpathPrefix> <mainClass>com.ailk.tosd.ua.hadoop.tool.UAClassifierJob</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> |
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin> </plugins> </build> |
3)安装过程跳过测试 :mvn install
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </build> |
4)编译插件编译环境1.6
<build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </pluginManagement> </build> |
注:使用sun 专用api
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> <compilerArguments> <verbose /> <bootclasspath>${java.home}/lib/rt.jar</bootclasspath> </compilerArguments> </configuration> </plugin> |
5)配置 copyDependency是只拷贝compile 作用域的
<build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <configuration> <includeScope>runtime</includeScope> </configuration> </plugin> </plugins> </pluginManagement> </build> |
- runtime : runtime and compile dependencies,
- compile : compile, provided, and system dependencies,
- test (default) : all dependencies,
- provided : provided dependencies,
- system : system dependencies.
6)打包所有依赖的jar 中的class 打到同一个包里
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>./lib/</classpathPrefix> <!-- <mainClass>com.ailk.tosd.ua.hadoop.tool.UAClassifierJob</mainClass> --> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build> |
命令:mvn assembly:assembly
说明:生成xxxx-1.0-jar-with-dependencies.jar的打包文件, 里面将包含所有的依赖文件
三 配置setting.xml
1)配置本地库
<localRepository>E:\Workspace\Java\Env\Maven\repositories</localRepository> |
2)配置中央仓库镜像
<mirror> <id>maven.net.cn</id> <name>one of the central mirrors in china</name> <url>http://maven.net.cn/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> |
3)配置其他仓库
<profile> <id>repositoriesProfile</id> <!-- repositories and pluginRepositories here--> <repositories> <repository> <id>sonatype</id> <!--id必须唯一--> <name>Sonatype Mirror</name> <!--描述--> <url>http://repository.sonatype.org/content/groups/public/</url> <releases> <enabled>true</enabled> <!--可以下载releases版本--> </releases> <snapshots> <enabled>false</enabled> <!--禁止下载snapshots版本--> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>sonatype</id> <name>Sonatype Mirror</name> <url>http://repository.sonatype.org/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> |
激活仓库:
<activeProfiles> <activeProfile>repositoriesProfile</activeProfile> </activeProfiles> |
(三)常用参数
mvn -e 显示详细错误
mvn -U 强制更新snapshot类型的插件或依赖库(否则maven一天只会更新一次snapshot依赖)
mvn -o 运行offline模式,不联网更新依赖
mvn -U 强制更新snapshot类型的插件或依赖库(否则maven一天只会更新一次snapshot依赖)
mvn -o 运行offline模式,不联网更新依赖
(四)其他问题解决
1 存在*.lastUpdated文件无法更新jar
使用maven构建的项目,当本地jar文件不存在时,maven会到中央仓库下载,如果存在网络等原因,jar文件下载未成功,相应目录会存在lastUpdated文件,因为有这个lastUpdated文件所以以后都不会真正下载对应ja了。
解决方法:
1)在执行mvn compile 之前把lastUpdated 文件删除。
2)使用 mvn -U clean install 强制更新
相关推荐
-D传入属性参数-P使用pom中指定的配置-e显示maven运行出错的信息-o离线执行命令,即不去远程仓库更新包-X显示maven允许的debug信息-U强制去远程参考更新snapshot包例如mvninstall-Dmaven.test.skip=true-Poracle其他...
以下是对标题和描述中提及的Maven常用命令的详细解释: 1. `mvn clean`:这个命令用于清理项目,删除`target`目录下的所有生成物,包括编译后的类文件、测试结果等。 2. `mvn compile`:编译项目的源代码,将`src/...
maven 常用命令集合 Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,主要用于 Java 项目的构建、测试和部署。Maven 的强大之处在于其提供了一种标准化的方式来构建、测试和部署项目,...
Maven 常用命令 Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,主要用于管理和构建 Java 项目。以下是 Maven 中的一些常用命令: 1. 创建项目 Maven 提供了 archetype 机制来快速...
### Maven常用命令 1. **初始化项目结构**: - `mvn archetype:generate` 是用于创建一个新的Maven项目的基础框架。你可以根据提示选择对应的archetype,如maven-archetype-quickstart,来快速生成一个简单的...
以下是一些常用的maven配置命令: * mvn -v:查看maven版本 * mvn compile:进行编译 * mvn test:运行测试类 * mvn package:生成jar包 * mvn clean:删除target目录 * mvn install:将jar包安装到本地仓库 * mvn ...
### Maven常用命令详解 #### 1. `mvn -v` - **命令**: `mvn -v`(注意:实际命令应为 `mvn --version` 或 `mvn -version`) - **功能**: 显示Maven当前版本信息。 - **应用场景**: 当需要确认当前使用的Maven版本时...
** Maven 常用命令详解 ** Maven 是一个强大的构建工具,主要用于管理 Java 项目的构建、依赖和文档生成。以下是一些 Maven 的常用命令,它们可以帮助开发者更有效地操作项目。 1. **显示插件的所有 Goal** 使用 ...
一、Maven常用命令 1. 初始化项目结构: `mvn archetype:generate` - 这个命令用于创建一个新的Maven项目,根据提示选择相应的 archetype(项目模板)来生成基础项目结构。 2. 编译源代码: `mvn compile` - ...
本篇文章将深入探讨如何使用Maven命令来创建工程、打包工程以及掌握一些常用的Maven命令。 首先,让我们了解Maven的核心概念。Maven基于项目对象模型(Project Object Model,POM),这是一个XML文件,包含了项目的...
以下是一些Maven的常用命令及其详细解释: 1. **创建Maven项目**: - `mvn archetype:create -DgroupId=packageName -DartifactId=projectName`:创建一个基本的Java项目。 - `mvn archetype:create -DgroupId=...
总结起来,"maven常用包"涵盖了Maven的核心功能,包括POM、依赖管理、插件使用、项目结构以及个性化配置。通过掌握这些知识,开发者可以高效地管理和构建Java项目。在实际开发中,Maven不仅简化了构建流程,还降低了...
还有一些其他的常用命令可以帮助开发者更好地管理 Maven 项目: - 显示当前项目的 POM 文件:`mvn help:effective-pom` - 分析项目依赖关系:`mvn dependency:analyze` 和 `mvn dependency:tree` - 跳过测试编译:`...
此外,Maven的pom.xml文件是项目的配置中心,包含了项目信息、依赖、构建设置等关键信息。 总结来说,Maven本地仓库是Maven生态系统的关键部分,它存储项目依赖,提高了开发效率。通过理解其工作原理和管理方式,...
- 常用的构建命令如`mvn clean`清理项目,`mvn compile`编译源代码,`mvn package`打包项目,`mvn install`将打包后的文件安装到本地仓库。 5. **依赖管理** - Maven通过POM中的`<dependencies>`标签管理项目依赖...
**四、Maven 常用命令** 1. `mvn clean`:清理项目生成的目标文件 2. `mvn compile`:编译源代码 3. `mvn test`:运行测试 4. `mvn package`:打包项目,生成 JAR 或 WAR 文件 5. `mvn install`:将项目安装到本地...
要配置 Maven 仓库,需要编辑 `settings.xml` 文件: - 该文件通常位于 Maven 安装目录的 `conf` 子目录下。 - 配置本地仓库路径:在 `<localRepository>` 标签内指定仓库位置,如 `<localRepository>D:/summary/...