如何将optaplanner示例项目导入Netbeans?

时间:2019-11-04 19:43:49

标签: netbeans optaplanner

我使用Windows 10,jdk1.8.0_111,Netbeans 8.0.1,apache-maven-3.6.2。我正在尝试向Netbeans打开optaplanner示例。

为此,当我在Netbeans中打开项目时,请转到文件

  

c:\ Program Files \ optaplanner \ examples \ sources。

(在我的系统中,我在sources文件夹中看到一个POM文件,但是NetBeans看到一个“ source”(POM?)文件)。我看到示例项目现在位于Netbeans项目área中。但是我无法跑步。

发生问题是因为Netbeans指向文件ConferenceSchedulingConstraintProvider.java的一种方法中的错误。方法是

private Constraint talkPrerequisiteTalks(ConstraintFactory factory) {
    return factory.from(Talk.class)
            .join(Talk.class,
                    containing(Talk::getPrerequisiteTalkSet, Function.identity()),
                    lessThan(talk1 -> talk1.getTimeslot().getStartDateTime(),
                            talk2 -> talk2.getTimeslot().getEndDateTime()))
            .penalizeConfigurable(TALK_PREREQUISITE_TALKS,
                    Talk::combinedDurationInMinutes);
}

请参阅以'.join(Talk.class'...)开始的行,消息指出:

  

联接的类型(类,BiJoiner,BiJoiner)是错误的     其中B,A是类型变量:       B扩展在方法join(Class,BiJoiner,BiJoiner)中声明的对象       在接口UniConstraintStream中声明的扩展对象   不兼容的类型:无法推断类型变量B#1,A#2,B#2,Property_#1,T,A#3,B#3,Property_#2       (参数不匹配; BiJoiner不能转换为BiJoiner)     其中B#1,A#1,A#2,B#2,Property_#1,T,A#3,B#3,Property_#2是类型变量:       B#1扩展了在方法join(Class,BiJoiner,BiJoiner)中声明的对象       A#1扩展了在接口UniConstraintStream中声明的对象       A#2扩展了在包含(Function>,Function

希望能有所帮助。 阿玛拉尔(Amaral)

2 个答案:

答案 0 :(得分:1)

这是NetBeans中的错误,但是是一个非常老的,不再受支持的版本。

临时解决方法::下载最新的OptaPlanner发行版(7.29.0.Final或7.30.0.Final),其中提到的代码已被注释掉(Constraint Streams仍然是一个正在发展的功能)。 / p>

推荐的解决方案:从https://netbeans.apache.org/download/index.html下载并安装最新的NetBeans(11.2)。该问题在NetBeans 8.2中也已修复,但是也不再受支持。我建议使用最新版本。

答案 1 :(得分:0)

这是NetBeans中的一个严重错误。

这是有效的Java 8语法,可以在OpenJdK,Maven,Gradle,IntelliJ,VSCode,Eclipse等环境下正常工作。