我有一个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