gpt4 book ai didi

java - 如何在pom文件中正确添加本地JNI jar?

转载 作者:行者123 更新时间:2023-12-02 09:02:43 25 4
gpt4 key购买 nike

我有一个提供 REST API 的 SpringbootApplication,我们将其称为 fetchPrediction

fetchPrediction API 使用 JAR 文件(即 JNI)内定义的一些类。

我的应用程序可以编译并启动,但是,如果我调用 fetchPrediction API,它就会失败。

当我在 mvn clean install 之后对创建的 jar 执行 jar -xvf 操作时,我没有看到应通过包含 jar 依赖项来选取的类。

此外,当我尝试运行 Jar 文件时,我会看到 JAR 内的类的 ClassNotDefinedException

我怎样才能正确地做到这一点?

目前我正在导入 JAR 依赖项,如下所示:

    <dependency>
<groupId>jarcom.jarlib</groupId>
<artifactId>jarname</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/jarname.jar</systemPath>
</dependency>

最佳答案

在 Spring Boot 应用程序中,通常没有 JNI 部分。此外spring-boot-maven-plugin默认情况下不包含 <scope>system</scope> 的依赖项这就是为什么您在生成的 jar 中看不到 jar 文件的原因。

您必须配置 spring-boot-maven-plugin 并将 includeSystemScope 设置为 truedescribed in the docs for the plugin .

<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.2.4.RELEASE</version>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</execution>
</executions>
...
</plugin>
...
</plugins>
...
</build>
...
</project>

关于java - 如何在pom文件中正确添加本地JNI jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60045875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com