Мой проект очень зависит от JNI для связи с кодом C. Я использую Java 8 уже много лет. Я решил перейти на Java 10, но столкнулся с проблемой реализации JNI.
У меня есть несколько импортированных библиотек в классе Java, который содержит собственные методы следующим образом:
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?