Maven配置项目使用本地仓库有以下方式实现:
1、类似本地仓库,但是属于本地依赖,比如某个JAR包是引用第三方的,直接放在了项目的lib文件夹,那么此时可以如下配置项目的POM:
<!--引入本地依赖-->
<dependency>
<groupId>alipay-sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<!--¥{basedir}表示本地目录,剩下的目录是jar在项目中的位置-->
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/alipay-sdk-java20170324180803.jar</systemPath>
</dependency>
gav坐标可以随意命名,为了能分清,这里根据 jar 包来命名。
<scope>标签的分类 compile 默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去 test 依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit runtime 表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段 provided 打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作 system 从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径
Maven仓库分类:
本地仓库——》 私服(用于公司)——》阿里云(类似国内的仓库)——》中央仓库镜像(基本是各大洲)——》中央仓库(美国,唯一一个)