引言
有些项目的jar包写好之后,并没有发布到maven私服,直接发给另外开发,虽然这看起来很不专业,但是,也存在这种可能,最近公司让我对接一个接口,可是后端并不是Java,通过胶水语言使其可用。
导入本地jar包
scope
依赖范围 | 编译classpath | 测试classpath | 运行classpath | 例子 |
---|---|---|---|---|
compile | Y | Y | Y | logback |
test | - | Y | - | Junit |
provided | Y | Y | - | servlet-api |
runtime | - | Y | Y | jdbc驱动 |
system | Y | Y | - | 存储在本地的jar包 |
目录结构如下
<dependency>
<groupId>com.xxx</groupId>
<artifactId>auth_api</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/auth_api.jar</systemPath>
</dependency>
其中groupId
和artifactId
必须要有,但是值是什么关系不大。
此时就引入成功了,此时debug时候,是没有问题的,但是打包的时候,可能就有问题了。
打包配置
<build>
<resources>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
</build>
结语
对于这样的需求,个人不太认可这样做,因为这样可移植性大大降低了,如果是公司内部,完全可以上传到私服中,直接这么搞不太合适吧。