Я думаю, что лучшее решение - просто установить jdk8. И нет необходимости удалять JDK10, просто измените переменную среды.
емлемой частью Java Native Interface (JNI) является соединение кода JVM и собственного кода через заголовки C. Способ создания этих заголовочных файлов был довольно простым: просто вызовите утилиту командной строкиjavah
на файлы классов. Этот процесс будет генерировать прототипы для любого метода, отмеченногоnative
модификатор.
Начиная с Java 10, однако,javah
утилитабыл удалени его предлагаемая замена - новый флаг "-h" для javac. Замена отлично работает, если у вас есть доступные исходные файлы Java, но не работает в тех случаях, когда доступны только скомпилированные файлы классов. (Проблема, которая вызвала этот вопрос, заключается в том, что я пытаюсь сгенерировать привязки JNI из исходников Scala. Мой текущий подход заключается в том, чтобы сначала скомпилировать их, а затем запустить javah над полученными файлами классов.)
В ситуации, когда доступны только скомпилированные файлы классов, есть ли способ генерировать заголовочные файлы C, аналогично тому, какjavah
использовал к?