常用标签
<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
作者:TRANSAM伽马
链接:https://www.jianshu.com/p/417af2219a7e