gpt4 book ai didi

gwt - 流口水 Maven 依赖与 GWT 冲突

转载 作者:行者123 更新时间:2023-12-04 05:49:49 38 4
gpt4 key购买 nike

我有一个 maven gwt 项目,它应该在服务器上集成 drools (5.4.0.CR1)。

这里的问题是,drools 似乎需要 drools-pipline 作为依赖项才能找到该类:

org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl

添加后会使流口水正常运行但会破坏 GWT ...

我读过一篇描述类似问题的文章,但旧版本说这是因为“org.eclipse.jdt”版本不同,可以通过添加以下内容来修复:
<exclusions>
<exclusion>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
</exclusion>
</exclusions>

但这不起作用...

有趣的是,从 eclipse 中检查时,我发现这个类实际上存在于 drools-compiler jar 中,它看起来与已经引用的 pom“drools-multiproject”相同。

任何帮助是极大的赞赏..
非常感谢。

更新 1:

这是我在启用“drools-pipline”的依赖项时遇到的错误..并且内部码头服务器没有运行(其他依赖项导致服务器运行但不是开发模式)但它没有加载开发模式:
   [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替换了它......现在事情加载正确,但是如果我使用上面对drools-camel依赖的排除GWT 有效,但drools 不会提示它找不到它,如果我删除排除 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)

最佳答案

我们在 guvnor 中也遇到了这个问题.这是因为 GWT 编译器未能将其编译器和编译类路径分开。更糟糕的是,gwt-dev 遮蔽了几个 jar(是的,gwt-dev jar 是邪恶的:)。 Here's an issue at google code for it (there are several related issue) .

无论如何,这是修复方法:

  <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.3.0</version>
<configuration>
...
<gwtSdkFirstInClasspath>true</gwtSdkFirstInClasspath><!-- The GWT compiler must the correct JDT version -->
...
</configuration>

关于gwt - 流口水 Maven 依赖与 GWT 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10211979/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com