首页 > 解决方案 > 如何让 IBM ODM Rule Designer 在 Java 8 上运行以识别 java.time.* 类?

问题描述

我在 Java 8 虚拟机上运行了 ODM 8.9.1 Rule Designer。Java.time.* 类型出现在 XOM 中,但在 BOM 中不被识别。例如,java.time.LocalDate 显示“无法用语言表达”并且无法在 Ctrl-Shift-Space 语言完成选项中找到。我在 Java 8 上安装了 XOM。如何将我的 BOM 安装到 Java 8?

标签: java-8ibm-odm

解决方案


使用 Java 8 日期获取 BOM 的一种方法是在 XOM 中创建一个辅助方法,该方法采用语言化的 java.util.Date 并将其转换为 java.time.LocalDateTime 例如,

public static int compareDates(Date date1, Date date2) {

    LocalDateTime newDate1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();

    LocalDateTime newDate2 = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime() ;   

    return newDate1.compareTo(newDate2);

}

推荐阅读