Spring Boot Maven项目使用SystemPath引用第三方平台:ClassNotFind错误

本文介绍如何在Maven项目中正确引入本地jar包,并通过调整配置避免ClassNotFound异常,确保项目正确打包。

1.引入第三方,非线上jar包:(将第三方jar包放入本项目根目录下新建的lib文件夹下)

<dependency>
            <groupId>org.hyperledger.fabric-sdk-java</groupId>
            <artifactId>fabric-sdk-java</artifactId>
            <version>1.1.0</version>

            <scope>system</scope>
            <systemPath>${project.basedir}/lib/fabric-sdk-java-1.1.0-jar-with-dependencies.jar</systemPath>

</dependency>

groupId、artifactId、version随意填写,systemPath指定jar包在本项目中的路径。

2.打包本项目jar包可能会出现ClassNotFind的问题。

解决方法:在build节点加入一下语句使包正确的导入

<build>
        <resources>
            <resource>
                <directory>${project.basedir}/lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>BOOT-INF/classes/</targetPath>
            </resource>
        </resources>
</build>

tergetPath后的BOOT-INF不能改。

3.重新打包后可发现问题已解决。

Spring Boot项目中添加第三方jar作为依赖,通常有几种方式可以实现: 1. **Maven依赖管理**: 如果你的项目使用Maven作为构建工具,可以在`pom.xml`文件中的`<dependencies>`标签里添加第三方jar的依赖配置。例如,如果需要添加`example.jar`这个第三方库,你可以在`<dependencies>`中添加如下配置: ```xml <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0.0</version> </dependency> ``` 其中`groupId`、`artifactId`和`version`需要替换为对应的第三方jar的实际坐标信息。 2. **Gradle依赖管理**: 如果项目使用Gradle,则可以在`build.gradle`文件中添加依赖。添加依赖的方式似于Maven使用`implementation`或`testImplementation`关键字,例如: ```groovy dependencies { implementation 'com.example:example:1.0.0' } ``` 同样,需要将`com.example:example:1.0.0`替换为实际的依赖坐标。 3. **本地jar依赖**: 如果第三方jar没有在Maven中央仓库或者你需要从本地文件系统引入jar,可以在Maven项目使用`<scope>`为`system`的依赖,并指定`<systemPath>`,如下所示: ```xml <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/example.jar</systemPath> </dependency> ``` 对于Gradle,可以使用`files()`方法指定本地jar路径: ```groovy dependencies { implementation files('libs/example.jar') } ``` 请注意,使用本地jar可能会导致构建的可移植性问题,因为它依赖于特定的文件系统路径。 4. **手动添加到路径**: 对于非Maven或Gradle项目,你可以将第三方jar直接放入项目的`lib`目录(或者其他路径目录),并且确保在运行时含这些jar路径中。这可以通过IDE的路径设置或者通过`java -cp`命令行参数来实现。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值