pom.xml
https://blog.csdn.net/hcmony/article/details/56013655
setting.xml
https://www.cnblogs.com/yangxia-test/p/4409736.html
有以下几个难点需要注意
一、dependency的顺序
二、仓库的选择顺序,以及与mirror的关系
三、仓库分类
四、pom与setting中常用的标签
一、
- 1、关于maven如何查找pom.xml里dependencies里配置的插件,暂且不考虑本地仓库的存在(笔者注:应该是先查找本地的仓库,如果本地仓库查找不到,再通过repository里面配置的仓库进行查找),maven会根据最终的repository集合里依次查找,如果查到了就从该仓库下载,并且停止对后续repository的查找(找到了就停)。所以可以看出用户在pom.xml里配置repository时,repository的顺序还是挺重要的。
二、仓库之间关系以及使用顺序(mirror与respository的区别关系)
- 1、在mirrorOf与repositoryId相同的时候优先是使用mirror的地址
- 2、mirrorOf等于*的时候覆盖所有repository配置
- 3、存在多个mirror配置的时候mirrorOf等于*放到最后
- 4、只配置mirrorOf为central的时候可以不用配置repository
- 5、需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。
- 6、从超级父pom里继承来的中央repository在effective-pom里总是为最后一个repository.
参考:
https://www.cnblogs.com/xdouby/p/6502925.html
https://www.cnblogs.com/ctxsdhy/p/8482725.html
https://blog.csdn.net/leo3070/article/details/81293529
三、仓库分类:
- 中央仓库:http://repo1.maven.org/maven2/
- 私服:内网自建的maven repository,其URL是一个内部网址
- 其他公共仓库:其他可以互联网公共访问maven repository,例如 jboss repository,aliyun.com等
四、关键节点:
setting:mirror、repository、server
pom:
- build标签描述了如何来编译及打包项目
- plugin:具体的编译和打包工作是通过build中配置的 plugin 来完成。当然plugin配置不是必须的,默认情况下,Maven 会绑定以下几个插件来完成基本操作。
- profiles(环境选择)
- properties:是为pom定义一些常量,在pom中的其它地方可以直接引用。
五、Build默认输出
构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。
src/main/java和src/test/java
这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。
src/main/resouces和src/test/resources
这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。
当是web项目时,会在target下生成myproject目录,myproject是你的项目名
src/main/webapps
这个目录中的文件会被复制到target/myProject目录中
target/classes
默认会把这个目录中的所有内容复制到target/myProject/WEB-INF/classes目录中
Dependency
默认会将项目的依赖复制到target/myProject/WEB-INF/lib
六、JDK设置:
<properties>
<file.encoding>UTF-8</file_encoding>
<java.source.version>1.5</java_source_version>
<java.target.version>1.5</java_target_version>
</properties>
七、scope配置意义
compile
当 scope 未指定时的默认值,在编译,测试,运行时都需要,在所有的类路径都是可用的。
provided
类似 compile,表示你希望在运行时由 JDK 或者容器去提供这些依赖。例如,当构建一个 web 项目的时候,我们会设置 Servlet API 相关的依赖的 scope 为 provided,因为这些类应该由容器提供。
runtime
表示依赖在项目运行时需要被使用。
test
表示依赖在测试的时候需要被使用。
system
类似于 provided,但是本地依赖,有时候我们用到一些远程仓库中没有的依赖,就需要使用这个 scope,表示使用本地的依赖。
import (在 Maven 2.0.9 或更高版本中可用)
此 scope 仅支持 pom 文件中 type 配置为 pom 的依赖,并只能在 <dependencyManagement> 中使用。相当于引入依赖管理。
七、源码下载配置方式
https://blog.csdn.net/xiaojin21cen/article/details/81119244
相关推荐
记录一下自己常用的maven工程的pom.xml配置详解,各个标签详解
一、Idea关联的maven本地仓库配置...三、3个可单独使用的,maven项目文件pom.xml自定义配置 pom-maven-springboot-CusConfigV1.xml pom-maven-springboot-CusConfigV2.xml pom-maven-spring-CusConfigV1不推荐使用.xml
maven的setting配置文件详解。。。。
Maven原版settings.xml配置文件,根据个人需要,可以打开对应注释或替换相关阿里云镜像或远程仓库地址即可使用。
使用eclipse整合maven时所需要使用的配置文件;只需修改文件中的本地仓库路径即可完成整合,java初学者必选。
maven的set.xml配置文件
Maven之pom.xml配置文件详解.pdf
maven配置文件settings.xml
Maven阿里云配置文件,并且默认配置仓库在E:\JAVA\Maven
Maven的pom.xml配置文件详细配置说明 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...
配置Maven私服时,需要修改Maven的默认配置文件,此文件已经配置好Maven私服模板,只需要修改IP和对应的端口号即可
maven阿里云配置文件,采用maven3.5.2,是一个非常实用的配置文件。
改为使用国内的阿里镜像
Maven配置文件Maven配置文件
maven 中 pom.xml 文件详解
maven settings.xml配置文件,亲试无问题,可以使用,eclipse和Myeclipse都可以
阿里云镜像的mavensettings.xml配置文件直接替换使用,直接替换conf/settings.xml文件就可以使用。
在安装Maven构建工具后,Maven仓库镜像站点默认是国外的,因为网络原因,在构建...所以我们一定要把仓库镜像站点改为国内的才能顺利下载,通常比较常用得是阿里云镜像,已经配置好的settings.xml文件可以直接替换使用。