Eclipse 在码头上使用口水

Eclipse 在码头上使用口水,eclipse,jetty,compilation,drools,Eclipse,Jetty,Compilation,Drools,我正在尝试启动一个使用Drools 5.2.0.M1的Web应用程序。我在启动时获得以下stacktrace: java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem; at org.drools.commons.jci.compilers.EclipseJavaC

我正在尝试启动一个使用Drools 5.2.0.M1的Web应用程序。我在启动时获得以下stacktrace:

java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
at org.drools.commons.jci.compilers.EclipseJavaCompiler$3.acceptResult(EclipseJavaCompiler.java:336)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:335)
at org.drools.commons.jci.compilers.EclipseJavaCompiler.compile(EclipseJavaCompiler.java:366)
at org.drools.commons.jci.compilers.AbstractJavaCompiler.compile(AbstractJavaCompiler.java:51)
at org.drools.rule.builder.dialect.java.JavaDialect.compileAll(JavaDialect.java:366)
at org.drools.compiler.DialectCompiletimeRegistry.compileAll(DialectCompiletimeRegistry.java:55)
我的pom里有罐子:

    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
        <version>5.2.0.M1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jdt.core.compiler</groupId>
        <artifactId>ecj</artifactId>
        <version>3.5.1</version>
    </dependency>

org.drools
drools编译器
5.2.0.M1
org.eclipse.jdt.core.compiler
欧洲法院
3.5.1

为什么它找不到CompilationResult.getProblems()?

JDT不向后兼容。 检查drools编译器pom(与您正在使用的版本完全相同)它所依赖的ecj版本,并使用该版本。或者根本不声明ecj,反正它是drools编译器的可传递依赖项


PS:升级到drools 5.2.0.CR1(或者在发布后升级到final)

我遇到了类似的问题。我有一个使用Jetty 6的web应用程序。Jetty 6显然引入了不兼容的JDT版本。切换至7号码头后,问题得到解决