MAVEN配置文件
文件位置: maven/conf/settings.xml
Maven 下载
常用标签
<localRepository>
- 本地仓库的详细地址
<localRepository>D:\buildtools\apache-maven-3.5.4-bin\apache-maven-3.5.4\repos-el</localRepository>
<mirrors>
- 远程仓库的详细地址
<mirrors>
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
</mirrors>
MAVEN清理编译和部署
maven clean
清理工程目录下的target文件夹,以及在仓库中部署的项目jar包
maven compile
- 1.对工程下的目录所有的java文件进行.class编译,并将文件放入target文件夹下,包括放在resource下的资源文件.(包含测试java以及测试资源文件)
- 2.target目录结构
- classes: 及自己写的class文件包含资源文件
- generated-sources: 由mapstruct映射生成的文件夹.
- test-classes: 与classes相同(测试文件)
maven install
- 1.包含了maven compile 操作,然后部署到maven的本地仓库中.
- 目的方便其他项目引用该项目下的实体文件(场景SpringCloud中)
MAVEN中各标签的作用
参考:
https://blog.csdn.net/cd18333612683/article/details/66478332
<type>
pom:
保证了之后引入的jar包版本一致
例子:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<scope>
- 1.complie: 默认值
指该jar包参与项目的编译,测试,是一个比较强的依赖.打包的时候通常需要包含进去 - 2.test:
指该jar包只参与代码的测试,编译和执行. - 3.runtime:
指该jar包不需要进行编译,只参与运行和测试,只跳过了编译.例如JDBC的驱动 - 4.provided:
指该jar不进行打包,处理,编译运行测试都参与.例如tomcat等环境提供jar. - 5.system:
指该jar包与provided值意思差不多.但是该jar则是从本地库中提供而非网络中.
scope依赖
- A依赖B,B依赖C.
- 当C是test或者provided时,C直接被丢弃.
- 否则,A依赖于C,B依赖于C
转载请注明出处.