Maven 配置
1. 下载maven
下载并解压
https://archive.apache.org/dist/maven/maven-3/
http://maven.apache.org/download.cgi
注意: System Requirements
2. 环境变量配置
具体方法可以看下载的Maven README.txt 文档
mvn --version ## 检查配置完成
3. 配置下载源 和 下载jar目录
-
更改下载源
打开maven目录下的conf/settings.xml
这里使用阿里云的Devops仓库
https://help.aliyun.com/document_detail/102512.html?spm=a2c40.aliyun_maven_repo.0.0.36183054br8FU4
按照 阿里云的帮助文档配置 -
找到localRepository标签,在里面填写jar包下载的目录,不写的话默认就会下载到c盘
<localRepository>D:\maven\maven_jar</localRepository>
4. IDEA 配置
参考:
https://www.cnblogs.com/stars-one/p/10958796.html
可能问题
- 关于配置idea中Maven报错Unable to import maven project: See logs for details问题的解决方法
【解决方案】是idea 2019版本和maven 3.6.2版本的兼容性问题。在更改为maven 3.5.2版本
mvn 命令
创建一个新的Maven项目:
普通java项目
mvn archetype:create -DgroupId=packageName -DartifactId=projectName
web项目
mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch3 -DartifactId=simple -DpackageName=org.sonatype.mavenbook
构建打包应用:mvn install [在pom.xml同级目录下执行]
查看项目完整的pom.xml文件,包括系统默认设置以及用户自定义设置: mvn help:effective-pom
生成报告或者文档:mvn site
mvn exec:java执行目标类 mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main
查看插件的完整描述:mvn help:describe -Dplugin=exec -Dfull
找出该项目所依赖的项目(jar)列表:
mvn dependency:resolve
mvn dependency:analyze(找出项目非直接依赖)
查看整个项目的依赖树:mvn dependency:tree
查看完整的依赖,包括那些因为冲突而被拒绝引入的依赖:mvn install -X
打包应用(jar):mvn install assembly:assembly
在 Jetty Servlet 容器中启动你的 web 应用:mvn jetty:run
重新编译:mvn compile
编译测试代码:mvn test-compile
运行测试:mvn test
打包:mvn package
清除产生的项目:mvn clean
生成eclipse项目:mvn eclipse:eclipse
只打jar包: mvn jar:jar
跳过单元测 mvn test -Dmaven.test.failure.ignore=true
跳过整个测试 mvn install -Dmaven.test.skip=true
maven打包跳过测试 mvn package -Dmaven.test.skip=true
下载依赖包的源代码 mvn dependency:sources
常用命令
mvn archetype:generate //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile //编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn clean //清除目标目录中的生成结果
mvn package //依据项目生成 jar 文件
mvn install //在本地 Repository 中安装 jar
mvn eclipse:eclipse //生成 Eclipse 项目文件
参考链接:https://www.jianshu.com/p/ee7bc34d7ccc
exclusions 排除传递依赖
在mavenB项目中引入mavenA项目依赖,通过依赖传递,会将mavenA中的jar包传递进来,如果B中不需要A中的某个jar包就可以使用以下标签
<exclusions>
<exclusion>
<groupId></groupId>
<artifactId></artifactId>
</exclusion>
</exclusions>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
参考链接:https://www.jianshu.com/p/ab7a65677e86