【问题标题】:Is Java 11 Really Supported in VoltDB 9.0?VoltDB 9.0 真的支持 Java 11 吗?
【发布时间】:2019-06-19 01:00:38
【问题描述】:

我目前只需要交叉编译几个针对 Java 8 的 JAR(在我的 Java 11 应用程序中),因为 VoltDB 仅支持在高达 8.4.x 的 DDL 期间加载 Java 8 JAR。理想情况下,我只想使用 Java 11,因为 Java 8 在商业上不再受支持。

查看 voltDB 9.0 的发行说明后,我看到了支持 Java 11 的项目符号行。首先,我尝试了 voltdb 站点的社区版版本,它不会加载我用 Java 11 编译的 JAR。所以我去了github并克隆了标记版本“voltdb-9.0”。我尝试使用 Java 11.0.3 构建“ant”。它失败并出现以下跟踪:

compile_core:
    [mkdir] Created dir: /home/paul/Code/voltdb/obj/release/test
    [mkdir] Created dir: /home/paul/Code/voltdb/obj/release/testprocs
    [mkdir] Created dir: /home/paul/Code/voltdb/obj/release/testfuncs
     [copy] Copying 18 files to /home/paul/Code/voltdb/obj/release/prod
     [copy] Copying 3 files to /home/paul/Code/voltdb/obj/release/prod/org/hsqldb_voltpatches/resources
     [copy] Copying 82 files to /home/paul/Code/voltdb/obj/release/prod/org/voltdb/dbmonitor
     [copy] Copying 36 files to /home/paul/Code/voltdb/temp/js
     [copy] Copying 36 files to /home/paul/Code/voltdb/temp/js
     [move] Moving 36 files to /home/paul/Code/voltdb/obj/release/prod/org/voltdb/dbmonitor/js
   [delete] Deleting directory /home/paul/Code/voltdb/temp
     [copy] Copying 1 file to /home/paul/Code/voltdb/obj/release/prod
     [copy] Copying 1 file to /home/paul/Code/voltdb/obj/release/prod
     [copy] Copying 69 files to /home/paul/Code/voltdb/obj/release/test
     [copy] Copying 3 files to /home/paul/Code/voltdb/obj/release/prod
     [copy] Copying 20 files to /home/paul/Code/voltdb/obj/release/testprocs
     [copy] Copying 2 files to /home/paul/Code/voltdb/obj/release/testprocs
     [copy] Copying 3 files to /home/paul/Code/voltdb/obj/release/test/org/hsqldb_voltpatches
    [javac] Compiling 378 source files to /home/paul/Code/voltdb/obj/release/prod
    [javac] /home/paul/Code/voltdb/src/hsqldb19b3/org/hsqldb_voltpatches/jdbc/JDBCPreparedStatement.java:762: warning: [dep-ann] deprecated item is not annotated with @Deprecated
    [javac]     public synchronized void setUnicodeStream(int parameterIndex,
    [javac]                              ^
    [javac] /home/paul/Code/voltdb/src/hsqldb19b3/org/hsqldb_voltpatches/jdbc/JDBCCallableStatement.java:734: warning: [dep-ann] deprecated item is not annotated with @Deprecated
    [javac]     public synchronized BigDecimal getBigDecimal(int parameterIndex,
    [javac]                                    ^
    [javac] /home/paul/Code/voltdb/src/hsqldb19b3/org/hsqldb_voltpatches/jdbc/JDBCResultSet.java:631: warning: [dep-ann] deprecated item is not annotated with @Deprecated
    [javac]     public BigDecimal getBigDecimal(int columnIndex,
    [javac]                       ^
    [javac] /home/paul/Code/voltdb/src/hsqldb19b3/org/hsqldb_voltpatches/jdbc/JDBCResultSet.java:876: warning: [dep-ann] deprecated item is not annotated with @Deprecated
    [javac]     public java.io.InputStream getUnicodeStream(
    [javac]                                ^
    [javac] /home/paul/Code/voltdb/src/hsqldb19b3/org/hsqldb_voltpatches/jdbc/JDBCResultSet.java:1099: warning: [dep-ann] deprecated item is not annotated with @Deprecated
    [javac]     public BigDecimal getBigDecimal(String columnLabel,
    [javac]                       ^
    [javac] /home/paul/Code/voltdb/src/hsqldb19b3/org/hsqldb_voltpatches/jdbc/JDBCResultSet.java:1242: warning: [dep-ann] deprecated item is not annotated with @Deprecated
    [javac]     public java.io.InputStream getUnicodeStream(
    [javac]                                ^
    [javac] /home/paul/Code/voltdb/src/hsqldb19b3/org/hsqldb_voltpatches/lib/java/JavaSystem.java:195: error: cannot find symbol
    [javac]         System.runFinalizersOnExit(true);
    [javac]               ^
    [javac]   symbol:   method runFinalizersOnExit(boolean)
    [javac]   location: class System
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 1 error
    [javac] 6 warnings

BUILD FAILED
/home/paul/Code/voltdb/build.xml:1390: The following error occurred while executing this line:
/home/paul/Code/voltdb/build.xml:33: Compile failed; see the compiler error output for details.

VoltDB 网站上只有旧版本的旧构建说明。有人可以帮我把它编译成 Java 11 吗?

【问题讨论】:

    标签: voltdb


    【解决方案1】:

    VoltDB v9.0 将在 Java 11 上运行,但如果您是从源代码编译它,暂时您仍然需要使用 Java 8 进行编译。披露:我在 VoltDB 工作。

    【讨论】:

    • 所以它无法加载 Java 11 程序 JAR?这是我尝试使用 Java 11 从源代码编译它的唯一原因。
    • 对不起,我没有早点注意到这一点,但对于阅读本文的人,我测试了编译过程,将它们加载到数据库中,并编译和运行客户端应用程序,所有这些都使用 JDK11。它是成功的。我不确定您遇到了什么错误,但它应该可以工作。您必须在 Java 11 上运行数据库才能加载使用 Java 11 编译的过程,这是我能想到的唯一可能出错的事情。
    猜你喜欢
    • 2019-05-04
    • 2018-12-17
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多