Maven配置项目依赖使用本地仓库的方法汇总
2017-11-13 00:06
621 查看
Apache Maven为项目构建提供了绝佳的解决方案,其本地仓库中缓存了远程代理仓库或中央仓库中的资源,从而提高网络资源使用效率,很好很强大!
但是并非所有资源都可以根据GroupId、ArtifactId和Version信息从中央或代理仓库中获取。例如Oracle数据库的驱动程序,由于版权的原因,任何组织提供的公网Maven仓库都不可能提供该JAR包资源。而这时如果我们的项目使用Maven进行构建,就可以选择将Oracle的驱动程序JAR包作为Maven构件安装到本地仓库中供开发使用。
当然,使用Sonatype Nexus搭建一个Maven私服是很好的方案,但那是另一个话题了。
直接在本地仓库路径下手动创建文件夹并复制JAR包文件是不可能生效的,因为还需要自己手动编写pom.xml文件,太麻烦。本文将给出最简单的方式,通过命令行将一个JAR包安装到本地仓库中。
以Oracle 12c的驱动程序举例,其驱动程序存放在ORACLE_HOME\product\12.1.0\dbhome_1\jdbc\lib路径下,推荐使用其中的ojdbc7.jar文件,它需要JDK版本在1.7以上。可以将该文件复制出来到D盘根目录下,以精简后面的指定路径。
确保在cmd当中可以正确使用mvn命令(通过mvn -v可以验证),然后使用如下命令:
mvn install:install-file -Dfile=D:\ojdbc7.jar -DgroupId=com.tech4j.driver -DartifactId=oracle-connector-java -Dversion=12.1 -Dpackaging=jar
在这段命令中,-Dfile参数指定了JAR包文件所在的路径,并依次指定了自定义的GroupId、ArtifactId和Version信息。
通过这种方式,可以简单快速地将第三方JAR包安装到本地仓库中供Maven项目依赖使用。例如:
<dependency>
<groupId>com.tech4j.driver</groupId>
<artifactId>oracle-connector-java</artifactId>
<version>12.1</version>
</dependency>
转自https://www.cnblogs.com/EasonJim/p/7042986.html
Maven配置项目使用本地仓库有以下方式实现:
1、类似本地仓库,但是属于本地依赖,比如某个JAR包是引用第三方的,直接放在了项目的lib文件夹,那么此时可以如下配置项目的POM:
说明:红色部分为项目的JAR包所在位置。
2、配置Maven的setting.xml文件的本地仓库地址,但是这个方式的意思不是用在项目上的本地仓库,而是比如远程仓库缓存的本地目录;如果要实现项目上使用的本地仓库,可以使用这个思路解决,比如先配置好本地仓库目录,然后安装需要的JAR包到本地仓库,最后就是在项目上直接引用这个JAR包即可。
配置setttin.xml的本地仓库目录方式如下:
安装JAR包的思路参考:http://www.cnblogs.com/EasonJim/p/6794423.html
3、使用Maven的deploy(http://maven.apache.org/plugins/maven-deploy-plugin/)插件中的命令mvn deploy部署到本地文件夹,得到JAR包的相关文件,POM配置如下:
注意:
①上面的配置是远程仓库的deploy,其中包括了两个地址release和snapshot。
②配置deploy到本地仓库只需要配置<repository>节点即可,<snapshotRepository>节点去除。
③本地仓库的url参考:file:/user/jim/home/test/或者file:D:/test/
使用命令:mvn deploy
发布好之后整个文件夹test里面的内容可以提交到一个远程目录或者直接使用这个本地目录,在POM项目上配置远程仓库的地址,不过这个url节点可以使用本地路径,配置如下:
提示:这个url节点可以是远程地址,本地局域网地址,也可以是本地目录地址。
配置好之后,直接在POM上配置自己发布的依赖即可。比如我发布测试的JAR包引入如下:
但是并非所有资源都可以根据GroupId、ArtifactId和Version信息从中央或代理仓库中获取。例如Oracle数据库的驱动程序,由于版权的原因,任何组织提供的公网Maven仓库都不可能提供该JAR包资源。而这时如果我们的项目使用Maven进行构建,就可以选择将Oracle的驱动程序JAR包作为Maven构件安装到本地仓库中供开发使用。
当然,使用Sonatype Nexus搭建一个Maven私服是很好的方案,但那是另一个话题了。
直接在本地仓库路径下手动创建文件夹并复制JAR包文件是不可能生效的,因为还需要自己手动编写pom.xml文件,太麻烦。本文将给出最简单的方式,通过命令行将一个JAR包安装到本地仓库中。
以Oracle 12c的驱动程序举例,其驱动程序存放在ORACLE_HOME\product\12.1.0\dbhome_1\jdbc\lib路径下,推荐使用其中的ojdbc7.jar文件,它需要JDK版本在1.7以上。可以将该文件复制出来到D盘根目录下,以精简后面的指定路径。
确保在cmd当中可以正确使用mvn命令(通过mvn -v可以验证),然后使用如下命令:
mvn install:install-file -Dfile=D:\ojdbc7.jar -DgroupId=com.tech4j.driver -DartifactId=oracle-connector-java -Dversion=12.1 -Dpackaging=jar
在这段命令中,-Dfile参数指定了JAR包文件所在的路径,并依次指定了自定义的GroupId、ArtifactId和Version信息。
通过这种方式,可以简单快速地将第三方JAR包安装到本地仓库中供Maven项目依赖使用。例如:
<dependency>
<groupId>com.tech4j.driver</groupId>
<artifactId>oracle-connector-java</artifactId>
<version>12.1</version>
</dependency>
转自https://www.cnblogs.com/EasonJim/p/7042986.html
Maven配置项目使用本地仓库有以下方式实现:
1、类似本地仓库,但是属于本地依赖,比如某个JAR包是引用第三方的,直接放在了项目的lib文件夹,那么此时可以如下配置项目的POM:
<dependency> <groupId>ldapjdk</groupId> <artifactId>ldapjdk</artifactId> <scope>system</scope> <version>1.0</version> <systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath> </dependency>
说明:红色部分为项目的JAR包所在位置。
2、配置Maven的setting.xml文件的本地仓库地址,但是这个方式的意思不是用在项目上的本地仓库,而是比如远程仓库缓存的本地目录;如果要实现项目上使用的本地仓库,可以使用这个思路解决,比如先配置好本地仓库目录,然后安装需要的JAR包到本地仓库,最后就是在项目上直接引用这个JAR包即可。
配置setttin.xml的本地仓库目录方式如下:
<localRepository>C:/MyLocalRepository</localRepository>
安装JAR包的思路参考:http://www.cnblogs.com/EasonJim/p/6794423.html
3、使用Maven的deploy(http://maven.apache.org/plugins/maven-deploy-plugin/)插件中的命令mvn deploy部署到本地文件夹,得到JAR包的相关文件,POM配置如下:
<distributionManagement> <repository> <id>oss</id> <url>http://127.0.0.1:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>oss</id> <url>http://127.0.0.1:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
注意:
①上面的配置是远程仓库的deploy,其中包括了两个地址release和snapshot。
②配置deploy到本地仓库只需要配置<repository>节点即可,<snapshotRepository>节点去除。
③本地仓库的url参考:file:/user/jim/home/test/或者file:D:/test/
使用命令:mvn deploy
发布好之后整个文件夹test里面的内容可以提交到一个远程目录或者直接使用这个本地目录,在POM项目上配置远程仓库的地址,不过这个url节点可以使用本地路径,配置如下:
<repositories> <repository> <id>jsoftlocal-mvn-repo</id> <url>file:D:/test/</url> </repository> </repositories>
提示:这个url节点可以是远程地址,本地局域网地址,也可以是本地目录地址。
配置好之后,直接在POM上配置自己发布的依赖即可。比如我发布测试的JAR包引入如下:
<dependency> <groupId>com.jsoft</groupId> <artifactId>testcommon</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
相关文章推荐
- Maven配置项目依赖使用本地仓库的方法汇总
- web项目中代码引用了本地包,又需要使用maven打war包时,pom的配置方法
- Maven的使用,Nexus建立本地仓库以及Eclipse导入Maven项目(三): 配置篇
- maven配置安装项目依赖的本地jar包到本地仓库上并引用
- [使用心得]maven2之m2eclipse使用手册之五添加新的依赖项目到本地仓库
- maven配置依赖本地项目
- maven项目引入本地包,不使用中央仓库
- 使用IntelliJ IDEA 14和Maven创建java web项目(以及maven管理本地仓库)
- maven编译 依赖本地jar包配置方法
- Maven设置本地仓库及依赖包下载不全的解决方法
- IDEA初使用---检出maven项目,私服仓库配置,spring配置文件映射
- Maven的使用,Nexus建立本地仓库以及Eclipse导入Maven项目(四): 实战篇
- Maven的使用,Nexus建立本地仓库以及Eclipse导入Maven项目(二): 安装篇
- 使用maven构建java项目pom的配置方法
- IDEA中maven项目导入依赖包太慢,因为你的中央仓库配置的国外....
- 修改net-paoding项目的build.gradle文件,使用gradle install发布到本地maven仓库
- Maven 手动添加JAR包到本地maven仓库,但在项目中依旧报错找不到JAR包解决方法
- 修改net-paoding项目的build.gradle文件,使用gradle install发布到本地maven仓库
- Maven项目配置外部依赖(本地依赖)
- maven下载依赖jar包失败处理方法--下载jar包到本地并安装到maven仓库中