我有一個maven gwt項目,應該在服務器上集成drools(5.4.0.CR1)。drools maven與GWT的依賴衝突
這裏的問題是,它似乎是Drools的需要滴料,pipline的依賴性爲它找到類:
org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl
它增加時,使Drools的正常運行,但打破GWT ...
我已閱讀描述類似的問題,但與舊版本的說法,這是因爲不同版本的「org.eclipse.jdt」的,它可能是固定的一篇文章中加入:
<exclusions>
<exclusion>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
</exclusion>
</exclusions>
但這不起作用...
有趣的是,當從月食檢查時,我發現這個類實際存在於drools-compiler jar中,它看起來像是與pom「drools-multiproject」一樣已經被引用。
任何幫助是非常感謝.. 非常感謝。
更新1:
這是實現「滴料,pipline」 ..和內部Jetty服務器不運行的依賴,當我得到的錯誤(其他依賴導致服務器運行,但不是開發模式),但它不會加載開發模式:
[INFO] log4j: reset attribute= "false".
[INFO] log4j: Threshold ="null".
[INFO] log4j: Retreiving an instance of org.apache.log4j.Logger.
[INFO] log4j: Setting [org.drools.grid] additivity to [true].
[INFO] log4j: Level value for org.drools.grid is [INFO].
[INFO] log4j: org.drools.grid level set to INFO
[INFO] log4j: Level value for root is [ERROR].
[INFO] log4j: root level set to ERROR
[INFO] log4j: Class name: [org.apache.log4j.ConsoleAppender]
[INFO] log4j: Setting property [target] to [System.out].
[INFO] log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
[INFO] log4j: Setting property [conversionPattern] to [%-4r %-5p %x- %m%n].
[INFO] log4j: Adding appender named [console] to category [root].
更新2:
在查看drools-pipline pom時,我發現它被描述爲遺留給drools-camel,所以我用drools-camel替換它...現在東西加載正確,但是如果我使用上面的排除放置滴料,駱駝依賴GWT工作,但滴料不會抱怨無法找到它,如果我刪除排除GWT與突破:
java.lang.NoSuchFieldError: warningThreshold
at com.google.gwt.dev.javac.JdtCompiler.getCompilerOptions(JdtCompiler.java:400)
at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.<init>(JdtCompiler.java:228)
at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:689)
at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:215)
at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:406)
at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:299)
at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:325)
at com.google.gwt.dev.DevModeBase$UiBrowserWidgetHostImpl.createModuleSpaceHost(DevModeBase.java:105)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:190)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
at java.lang.Thread.run(Thread.java:662)
請注意,drools本身與它無關。這是drools使用的jdt eclipse編譯器,它被gwt-dev jar中的不兼容版本遮蔽。 – 2012-04-18 16:28:41
實際上,解決方案是編輯運行配置並將gwt jars移動到maven依賴關係之上,這在鏈接中進行了描述。 我也做了什麼回答 請在答案中澄清這一點。 – AhHatem 2012-04-19 15:19:22