文章目录
- IDEA创建maven项目
- maven项目必有得目录结构
- 项目构建关键字
- clean
- validate
- compile
- test
- package
- verify
- install
- site
- deploy
- 命令使用方法
- 方法一 在terminal终端执行
- 方法二 在右侧得maven中双击
- 依赖管理
- 在pom.xml下 导包、scope的传递范围、打包方式
- 依赖冲突
- 声明优先原则
- 就近原则
- 手动排除(exclusion)
- 提取常量
IDEA创建maven项目
每一个Maven项目,都应该有一个独一无二的坐标。就好比之前学过的空间坐标系,我们可以通过X轴、Y轴、Z轴确定空间中唯一的一个点。那么在中央仓库中,我们也可以通过groupId、artifactId、version确定一个唯一的依赖包(当然也可能没有)。- groupId组织Id,一般是公司域名的反转,不要使用大写和特殊字符- artifactId应用名,一般就是应用的名字,不要使用大写和特殊字符- version版本号
maven项目必有得目录结构
在maven module的根目录下,必须得有如下的结构- pom.xml- src/main/java源代码路径,所有的Java文件都要放在这个路径下- src/main/resources配置文件的路径,原则上来说,maven工程所有的配置文件都要放在这个路径下- src/test/java(没有的时候可以不需要)测试文件的路径- src/test/resources (没有的时候可以不需要)测试需要的配置文件所在的路径
项目构建关键字
clean
可以帮助我们去删除编译生成的target文件夹
validate
这个指令是用来验证文件是否有权限,是否已经损坏等等。这个指令一般不用
compile
这个指令是用来编译的,可以帮助我们生成target文件夹
test
这个测试命令是用来帮助我们执行maven工程中的所有的测试方法的
会去执行我们src/main/test路径下的所有test文件中的测试方法
package
这个命令的意思是打包的意思,把我们的module工程打成一个jar包
执行了这个指令之后,会帮助我们去打包,这个包会生成在 target目录下
verify
其实就是去验证我们打的包是否合法。
install
安装的意思,其实就是可以帮助我们把target文件夹里面的包复制到你的本地仓库中去。
site
建立远程站点
deploy
部署项目
**说明:**site和deploy都是涉及到远程服务的部署的,可以帮助我们把本地仓库中的jar包上传到远程服务器中指定的位置并运行起来。在以后的开发中,部署项目我们不会使用maven,一般使用jenkins这个工具。
命令使用方法
方法一 在terminal终端执行
mvn 命令(clean等)
方法二 在右侧得maven中双击
依赖管理
在pom.xml下 导包、scope的传递范围、打包方式
每一个依赖都有自己的作用域。有四种作用域- compile假如没有声明作用域的情况,就是compile作用域意味着这个依赖可以在编译的时候,运行的时候都可以生效在src/main/javasrc/test/java 路径下都有效- test只在测试包(src/test/java) 路径下生效- provided在编译的时候生效,在运行的时候失效- runtime意味着这个包在编译的时候失效,在运行的时候生效(mysql-connector-java )
依赖冲突
声明优先原则
<dependencies> 中 谁在上面 版本就是谁
就近原则
存在 依赖传递时 传递次数少的 就是版本
手动排除(exclusion)
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.3</version><!-- 手动排除 可以排除多个--><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></exclusion><exclusion><groupId>org.springframework</groupId><artifactId>spring-core</artifactId></exclusion></exclusions></dependency>