maven 导入本地jar包(不接入仓库)

引言

有些项目的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包

目录结构如下

image.png

<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>

这样打包后,自定义的jar包就加载进来了。
image.png

结语

对于这样的需求,个人不太认可这样做,因为这样可移植性大大降低了,如果是公司内部,完全可以上传到私服中,直接这么搞不太合适吧。

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。