java - 为 CMake 设置自定义 Java 版本

标签 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: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/

相关文章:

java - 比较数据库中的图像

java - 该 Java 程序没有显示预期的死锁

c++ - 强制 CMake 将 MSVC 与 Ninja 结合使用

Cmake - 想要查看中间 .i 文件

c++ - 编译库以便 GDB 自动查找源代码

java - 通过 JDBC 连接 SciDB 时出现异常

java - 部署到 Pivotal Cloud Foundry 后,访问 jar 内的 xml 等资源文件

java - Dockerfile maven 与 ARG

在单个 debian 服务器上安装 scidb