maven项目引入外部jar包打包运行类加载不到问题解决

通过将外部jar包安装到本地依赖解决

项目目录如下

libs
└── dsf-sdk-core-1.3.7-SNAPSHOT.jar.jar
src
└── main
    ├── java
    │   └── com
    │       └── example
    │           ├── openapidemo
    │           │   └── OpenApiDemoApplication.java
    └── resources
        └── application.properties

pom文件中引入了这个外部jar,代码如下

<dependency>
            <groupId>com.idss.dsf.test</groupId>
            <artifactId>dsf-sdk-core-test</artifactId>
            <version>1.3.6-SNAPSHOT-test</version>
            <scope>system</scope>
            <systemPath>${basedir}/libs/dsf-sdk-core-1.3.7-SNAPSHOT.jar</systemPath>
</dependency>

使用maven打包后,得到项目jar包,运行时,会报错class not load xxx,查看报错的类就来自libs文件夹下的jar包,因此考虑将这个jar包安装到本地,使用如下命令

mvn install:install-file -Dfile=/path/to/your.jar \
                          -DgroupId=com.example \
                          -DartifactId=your-artifact-id \
                          -Dversion=1.0.0 \
                          -Dpackaging=jar

根据pom文件中的jar包详情填写对应内容,windows下命令需压缩成一行,去除分割符,如下

mvn install:install-file -Dfile=/Desktop/open-api-demo2/open-api-demo2/libs/dsf-sdk-core-1.3.7-SNAPSHOT.jar -DgroupId=com.idss.dsf.test -DartifactId=dsf-sdk-core-test -Dversion=1.3.6-SNAPSHOT-test  -Dpackaging=jar

修改pom文件为

<dependency>
            <groupId>com.idss.dsf.test</groupId>
            <artifactId>dsf-sdk-core-test</artifactId>
            <version>1.3.6-SNAPSHOT-test</version>
<!--            <scope>system</scope>-->
<!--            <systemPath>${basedir}/libs/dsf-sdk-core-1.3.7-SNAPSHOT.jar</systemPath>-->
        </dependency>

打包运行即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雅俗共赏zyyyyyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值