CMake FindJNI issue on linux



我正在CLion中设置一个C++17项目,我想使用java本机接口,但问题来了。FindJNI.cmake 失败,出现错误:
Could NOT find JNI (missing: JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2)

我尝试在我的 CMakeList 中手动设置JAVA_INCLUDE_PATH.txt使用以下方法:
set(JAVA_INCLUDE_PATH "$ENV{JAVA_HOME}/include")(与 PATH2 相同(,它只能部分解决问题,因为这样 cmake 输出就会Found JNI: /usr/lib/jvm/default/lib/amd64/libjawt.so

我的CMakeList.txt

cmake_minimum_required(VERSION 3.14)
project(project1)
set(CMAKE_CXX_STANDARD 17)
find_package(JNI REQUIRED)
add_executable(project1 main.cpp)

注意:我JAVA_HOME设置为/usr/lib/jvm/java-8-openjdk和从AUR安装的java-8-openjdk软件包。

您是否尝试过在此中添加包含

include_directories( ${CMAKE_JAVA_} $ENV{JAVA_HOME}/include $ENV{JAVA_HOME}/include/linux )