在实际开发中,我们可能会遇到有一些JAR包在Maven的公共仓库中没有,所以我们要在本地引入
这里也是刚刚尝试的,分享下
### 1. systemPath方式引入
参考网址:[http://www.cnblogs.com/richard-jing/archive/2013/01/27/Maven_localjar.html](http://www.cnblogs.com/richard-jing/archive/2013/01/27/Maven_localjar.html)
感谢分享
我们在引入依赖的时候,有一个作用域,可以配置为system
对于依赖可以参考下这篇博客:(哎,看了下,写的不太好,有时间,重写下)
[Maven深入学习(二)- 依赖 ](http://blog.csdn.net/yuguiyang1990/article/details/8866719)
示例:
~~~
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/postgresql-9.3.jar</systemPath>
</dependency>
~~~
该jar包在项目中的位置:
![](https://box.kancloud.cn/2016-09-06_57ce65005b21f.jpg)
上面参考的网址提醒:使用这种方式引入的JAR包在打包时不会一起打包,所以打包后找不到该JAR包
解决方法:
修改JAR包的位置,将JAR包放在resources目录下
![](https://box.kancloud.cn/2016-09-06_57ce650074ea4.jpg)
修改pom.xml
~~~
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ygy</groupId>
<artifactId>helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>helloworld</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/postgresql-9.3.jar</systemPath>
</dependency>
</dependencies>
<build>
<resources>
<!-- 这种方式可以将JAR包引入,还不清楚原因,待研究 -->
<resource>
<targetPath>lib/</targetPath>
<directory>lib/</directory>
<includes>
<include>**/postgresql-9.3.jar</include>
</includes>
</resource>
</resources>
</build>
</project>
~~~
### 2. 将JAR包安装到本地仓库
官方介绍:[http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html](http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html)
执行命令:
~~~
D:\WorkSpace\cognos\helloworld\src\main\resources\lib>mvn install:install-file -
Dfile=postgresql-9.3.jar -DgroupId=org.postgresql -DartifactId=postgresql -Dvers
ion=9.3 -Dpackaging=jar
~~~
![](https://box.kancloud.cn/2016-09-06_57ce6500888bb.jpg)
执行该命令后,Maven会将该JAR包部署到本地仓库中,这样在Maven中就可以正常使用了
![](https://box.kancloud.cn/2016-09-06_57ce65009e592.jpg)
但是其他的话,也需要执行以下mvn install命令才可以正常使用
### 3. 将本地lib发布为仓库
使用repository标签,这个暂未成功,明天尝试下。
- 前言
- (一)- 环境搭建
- (二)- 安装m2eclipse插件
- (三)- 使用Maven构建Web项目
- (四)- 使用Maven构建Web项目-测试
- (五)- 使用Maven构建Struts2项目
- (六)- 构建Hibernate项目
- (七)- 构建Spring项目
- (八)- 构建MyBatis项目
- (九)- 构建SSH项目
- (十) - 阶段小结
- Maven深入学习(一)- 坐标
- Maven深入学习(二)- 依赖
- Maven深入学习(三)- 聚合与继承
- Maven深入学习(四)- 知识总结
- Maven创建的Web项目无法使用EL表达式
- Maven知识点记录 - profile
- Maven知识点记录 - repositories
- Maven最佳实践:版本管理
- Ubuntu上安装Maven3
- Maven常用命令-创建Java项目
- Maven常用命令-创建Web项目
- Maven中引入本地jar包
- Maven私服(一) - The nexus service was launched, but failed to start.
- Maven私服(二) - Nexus的安装