gpt4 book ai didi

java - 如何在 JNI 中处理 Java 10 的 -classpath 属性

转载 作者:行者123 更新时间:2023-11-30 01:56:52 25 4
gpt4 key购买 nike

我的项目高度依赖 JNI 与 C 代码进行通信。我已经使用 Java 8 多年了。我决定升级到 Java 10,但我遇到了 JNI 实现的问题。

我在 Java 类中有一些导入的库,其中包含 native 方法,如下所示:

import com.abc.repair.Results;

public class DataSupport {

public native Results getPartResults(String x);
public native Results getItemResults(String x);
}

Java 8 实现:

javah -jni -classpath ../lib/Results.jar com.abc.jni.DataSupport

Java 10 实现:

javac -h . ../build/com/abc/jni/DataSupport.java

如果没有从任何其他库导入,Java 10 的实现效果很好。然而,当这里有任何导入时,它无法构建,提示 com.abc.repair.Results 不存在。按照 Java 8 中使用的相同方式添加类路径并没有解决问题。

如何使用 -classpath 或者 Java 10 中的替代方案是什么?

最佳答案

您必须指定源路径。在你的情况下,它看起来像

javac -h . -sourcepath ../build ../build/com/abc/jni/DataSupport.java

关于java - 如何在 JNI 中处理 Java 10 的 -classpath 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54155829/

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