我使用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'...开始的行,消息指出:
[join(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
这是NetBeans中的严重错误。
这是有效的Java 8语法,在OpenJdK,Maven,Gradle,IntelliJ,VSCode,Eclipse等环境下都可以正常工作。