我正在尝试安装一个工具(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:5 (message):
Java 1.8 is currently the only supported version for building JDBC!
我将其安装在我的主文件夹中的某个位置;如何告诉 CMake 使用我的版本?
我尝试按照建议设置 $JAVA_HOME
和 $PATH
变量 in this previous answer ,但没有结果。
最佳答案
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版本。
关于java - 为 CMake 设置自定义 Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36024039/