Maven常用命令和配置
1.常用打包命令
mvn clean package -Dmaven.test.skip=true -- 跳过单测打包
mvn clean install -Dmaven.test.skip=true -- 跳过单测打包,并把打好的包上传到本地仓库
mvn clean deploy -Dmaven.test.skip=true -- 跳过单测打包,并把打好的包上传到远程仓库
2.maven命令
mvn -v #查看版本
mvn archetype:create #创建 Maven 项目
mvn compile #编译源代码
mvn test-compile #编译测试代码
mvn test #运行应用程序中的单元测试
mvn site #生成项目相关信息的网站
mvn package #依据项目生成 jar 文件
mvn install #在本地 Repository 中安装 jar
mvn -Dmaven.test.skip=true #忽略测试文档编译
mvn clean #清除目标目录中的生成结果
mvn clean compile #将.java类编译为.class文件
mvn clean package #进行打包
mvn clean test #执行单元测试
mvn clean deploy #部署到版本仓库
mvn clean install #使其他项目使用这个jar,会安装到maven本地仓库中
mvn archetype:generate #创建项目架构
mvn dependency:list #查看已解析依赖
mvn dependency:tree com.xx.xxx #看到依赖树
mvn dependency:analyze #查看依赖的工具
mvn help:system #从中央仓库下载文件至本地仓库
mvn help:active-profiles #查看当前激活的profiles
mvn help:all-profiles #查看所有profiles
mvn help:effective -pom #查看完整的pom信息
3.注意
maven 命令要在IDEA的Terminal窗口执行
执行maven命令需要当前目录有pom依赖,可以用cd命令切换目录
4.打包时注意:
1.jar手动打包到本地仓库
当mvn仓库里缺少jar包,同时又从中央仓库自动下载不下来的时候,就需要自己下载jar包然后放仓库里了,
但是有时候只是简单的把jar和source放仓库的文件夹下,并不管用,这个时候你可以用命令把jar把打进去:
mvn install:install-file -Dfile=D:\xxx.jar -DgroupId=commons-dbcp -DartifactId= commons-dbcp -Dversion= 1.4 -Dpackaging=jar
-Dfile 是存在本地磁盘里jar 的路径
2.jar依赖包冲突
mvn dependency:tree #查看依赖树,查看包结构间的依赖
mvn dependency:tree >d:/tmp #把结果输出到文件,然后再pom.xml文件里排除掉冲突的jar包
5.maven配置文件
注意-记得修改仓库路径:
<!--本地仓库。该值表示构建系统本地仓库的路径。其默认值为${user.home}/.m2/repository。 -->
<localRepository>D:\Maven\repository</localRepository>
完整配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--本地仓库。该值表示构建系统本地仓库的路径。其默认值为${user.home}/.m2/repository。 -->
<localRepository>D:\Maven\repository</localRepository>
<!--配置服务端的一些设置。如果局域网内部有nexus,需要管理项目jar包可配置 -->
<servers>
</servers>
<!--为仓库列表配置的下载镜像列表-->
<mirrors>
<!--给定仓库的下载镜像-->
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<!-- 仓库配置 -->
<profiles>
<!--根据环境参数来调整的构件的配置 -->
<profile>
<!--该配置的唯一标识符 -->
<id>lovecto_profile</id>
<!-- 远程仓库列表 -->
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<!-- 配置插件下载的仓库列表-->
<pluginRepositories>
<pluginRepository>
<id>thirdparty_repository</id>
<name>thirdparty_repository</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!-- 激活所使用的配置-->
<activeProfiles>
<activeProfile>lovecto_profile</activeProfile>
</activeProfiles>
</settings>