设置CMake的自定义Java版本
我正在尝试安装一个工具(SciDB);其安装程序使用CMake。在某一点上,它需要Java 1.8,而系统上没有安装Java 1.8设置CMake的自定义Java版本,java,cmake,scidb,Java,Cmake,Scidb,我正在尝试安装一个工具(SciDB);其安装程序使用CMake。在某一点上,它需要Java 1.8,而系统上没有安装Java 1.8 -- Could NOT find Java (missing: Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE Java_JAVAC_EXECUTABLE Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE) CMake Error at src/jdbc/CMakeLists.txt
-- Could NOT find Java (missing: Java_JAVA_EXECUTABLE Java_JAR_EXECUTABLE Java_JAVAC_EXECUTABLE Java_JAVAH_EXECUTABLE Java_JAVADOC_EXECUTABLE)
CMake Error at src/jdbc/CMakeLists.txt:5 (message):
Java 1.8 is currently the only supported version for building JDBC!
我把它安装在我的主文件夹的某个地方;如何告诉CMake使用我的版本
我尝试按照建议设置
$JAVA\u HOME
和$PATH
变量,但没有结果。SciDB使用自己版本的FindJava.cmake(位于cmake/Modules/FindJava.cmake
)。SciDB需要一个特定的环境,并且用户已经安装了OpenJDK 1.8版
使用JAVA_HOME的一种方法是在源代码中修改cmake/Modules/FindJava.cmake
,并添加${JAVA_HOME}/bin
:
set(_JAVA_PATHS
$ENV{JAVA_HOME}/bin
/usr/lib/jvm/java-1.8.0-openjdk/bin
/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin
/usr/lib/jvm/java-1.8.0-openjdk.x86_64/bin
)
注意:将检查
$Java_HOME
中的Java版本。SciDB使用其自己的FindJava.cmake版本(位于cmake/Modules/FindJava.cmake
)。SciDB需要一个特定的环境,并且用户已经安装了OpenJDK 1.8版
使用JAVA_HOME的一种方法是在源代码中修改cmake/Modules/FindJava.cmake
,并添加${JAVA_HOME}/bin
:
set(_JAVA_PATHS
$ENV{JAVA_HOME}/bin
/usr/lib/jvm/java-1.8.0-openjdk/bin
/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin
/usr/lib/jvm/java-1.8.0-openjdk.x86_64/bin
)
注意:将检查
$Java\u HOME
中的Java版本不。根据FindJava.cmake
脚本,设置Java\u HOME
环境变量应该有效。(设置此变量,但不导出它。这可能是个问题)。您使用的CMake版本是什么?根据FindJava.CMake
script,设置JAVA\u HOME
环境变量应该可以工作。(设置此变量,但不导出它。这可能是个问题)。您使用的CMake版本是什么?