IDEA中maven的相关配置及命令解释

IDEA中maven的相关配置

本文主要介绍一些IDEA中集成maven的配置和操作步骤

maven的安装和集成

  1. 下载maven ,Apache官网上很容易下载(可选 IDEA中自带了maven);
  2. 配置 maven配置
  • Maven home directory: 可以选择你自己的maven版本
  • User settings file: 点击右边的Override可以改变maven配置文件的位置 上面的.m2是默认位置
  • Local repository: 也可以点选右边Override来改变本地仓库位置 但更推荐在User settings file中配置的配置文件里改变localRepository标签的内容
    例如
	<!-- 2019/2/7 新增配置 本地Maven依赖存放位置(右斜杠改为左斜杠) -->
	<localRepository>D:/WorkSoftware/Maven/repository</localRepository>
  1. 镜像配置
    由于一些已知的原因 maven从国外服务器上download依赖的速度很慢 所以推荐在配置文件的mirrors标签中配置镜像来加快下载速度 推荐的镜像是阿里云的maven镜像
	<mirrors>
		<!-- 2019/2/7 新增配置 阿里云镜像 -->
		<mirror>
		     <id>alimaven</id>
		     <name>aliyun maven</name>
		     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		     <mirrorOf>central</mirrorOf>
		</mirror>
	</mirrors>

pom.xml中一些标签的解释

pom.xml是maven的标志性文件 maven的所有命令也都是基于pom的 其中一些比较重要的标签很有必要说明一下:

  • project标签的直系标签: 形如
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>

这是表示该pom自身信息的说明性标签 它使打包后的本maven工程可以像其他依赖一样被引用

  • parent: 指明pom的父pom 就像java中的继承一样 子pom会继承父pom的一些配置和属性 越是基础的pom其配置通用性也就越强
  • properties: 可以配置比如版本之类的标签 类似于java中的全局变量 在作用范围内可以用$符号引用
  • dependencies: 作为标签dependency的容器 为pom的依赖引用 典型的依赖引用如下:
<dependency>
	<!-- 服务集 通常是域名的倒置 推荐与包名相同-->
    <groupId>com.oracle</groupId>
    <!-- 具体服务 与groupId组合能够唯一定位一个服务-->
    <artifactId>ojdbc6</artifactId>
    <!-- 版本号 -->
    <version>11.2.0.1.0</version>
</dependency>
  • dependencyManagement: 我们可以发现这里面可能也定义了一些依赖 但这些依赖只是声明 在本pom中并没有起到引用到服务的作用 它们的作用是为它的子pom提供版本号等信息以统一管理 通常出现在多个服务引用相同服务的情况 这里的子pom在dependencies标签中的无版本号引用才是真正的引用 统一版本等信息可以避免出现一些不必要的版本冲突问题 所以如果我们在pom中的依赖集里发现了一些没有标识版本号的依赖 不要怀疑 它一定是有父pom的
  • build: 定义maven的插件集 可以扩展mvn命令 或者环境配置过滤器 构建需要的资源等
  • profiles: 可以用来定义不同的开发环境 在mvn -P命令中配合build标签里的过滤器和资源可以指定开发环境以适应不同的构建场合

maven的一些命令和应用

一些基本且常用的命令

mvn –version
显示版本信息
mvn clean
清理项目生产的临时文件,一般是模块下的target目录
mvn compile
编译源代码,一般编译模块下的src/main/java目录 在target下生成.class文件
mvn validate
验证工程是否正确,所有需要的资源是否可用。
mvn install
将打包的jar/war文件复制到你的settings.xml文件中配置的本地仓库中(包括jar和pom),供其他模块使用
mvn package
项目打包工具,会在模块下的target目录生成.class文件还有jar或war等文件 (一开始创建maven项目的时候可以指定默认打包格式 也可以在pom中用packaging:jar或packaging:war来标注) 如果某个maven项目依赖另一个自己写的maven项目 比如B引用A 那么必须先将Ainstall进本地仓库里 然后再对B进行打包才不会报错
mvn test
测试命令,或执行src/test/java/下junit的测试用例.

mvn deploy
将打包的文件发布到远程参考,提供其他人员进行下载依赖

一些扩展命令

这些命令通常要在bulid中安装命令对应的插件 命令格式如下:
mvn [plugin-name]:[goal-name]
该命令的意思是:执行plugin-name插件的goal-name指令
例如:
mvn eclipse:eclipse
将项目转化为Eclipse项目
mvn dependency:tree
打印出项目的整个依赖树
mvn archetype:generate
创建Maven的普通java项目
mvn tomcat:run
在tomcat容器中运行web应用
mvn jetty:run
调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用

其他

  1. -D开头参数的含义: 传入属性参数
    比如命令:
    mvn package -Dmaven.test.skip=true
    -D开头,将maven.test.skip的值设为true,就是告诉maven打包的时候跳过单元测试。同理,mvn deploy-Dmaven.test.skip=true代表部署项目并跳过单元测试。
  2. -e 显示maven运行出错的信息
  3. -X 显示maven允许的debug信息
  4. -P 使用指定的Profile配置(上文已做描述)

备注

❤ 如果内容中有纰漏请指正

❤ 上文参考博客
https://blog.csdn.net/actionzh/article/details/80903942

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值