Gwt 多项目设置上的Requestfactory验证

Gwt 多项目设置上的Requestfactory验证,gwt,requestfactory,annotation-processing,multi-project,gwt-2.4,Gwt,Requestfactory,Annotation Processing,Multi Project,Gwt 2.4,我试图更改到gwt2.4的发行版,但遇到了一个问题。我在设置中使用多个项目。我有一个带有服务器端代码的项目,一个带有共享代码的项目,可以在不同的gwt项目中使用,还有一个将所有内容绑定在一起的gwt项目。我用maven建立了一切。我按照此处的注释处理说明进行操作: 当我编译我的共享项目(代理和服务所在的位置)时,会创建带有deobfouscatorbuilder.java的文件夹“generated sources\apt\”。我将此项目的源代码作为我的主项目的依赖项,并尝试运行验证器,但是这

我试图更改到gwt2.4的发行版,但遇到了一个问题。我在设置中使用多个项目。我有一个带有服务器端代码的项目,一个带有共享代码的项目,可以在不同的gwt项目中使用,还有一个将所有内容绑定在一起的gwt项目。我用maven建立了一切。我按照此处的注释处理说明进行操作:

当我编译我的共享项目(代理和服务所在的位置)时,会创建带有deobfouscatorbuilder.java的文件夹“generated sources\apt\”。我将此项目的源代码作为我的主项目的依赖项,并尝试运行验证器,但是这里没有创建deobfouscatorbuilder.java。一切都会编译,但当我调用requestfactory时,会出现以下错误:

com.google.web.bindery.requestfactory.server.UnexpectedException: No RequestContext for operation ZwI9iqZS626uTt_TFwRtUwPYSOE=
我猜我的设置有错误,但我找不到在哪里。。 有人知道如何解决这个问题吗

问候 阿恩

更新:

我将此添加到我的pom中:

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>

                <executions>
                    <execution>
                        <id>unpack</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>unpack</goal>
                            <!-- <goal>build-classpath</goal> -->
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.myproject.core</groupId>
                                    <artifactId>shared</artifactId>
                                    <version>${shared.version}</version>
                                    <classifier>sources</classifier>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>${project.build.directory}/com.myproject.shared</outputDirectory>
                                </artifactItem>
                                </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

org.apache.maven.plugins
maven依赖插件
打开
初始化
打开
com.myproject.core
共享
${shared.version}
来源
真的
${project.build.directory}/com.myproject.shared
这将解压依赖项的源并将它们放入我的目标文件夹中。 然后我补充说:

            <configuration>
                <sourceDirectory>target/com.fileee.shared</sourceDirectory>
            </configuration>

target/com.fileee.shared
我的处理器插件


通过这种方式,不需要将所有项目都放在工作区中,它应该与一个持续集成系统一起工作。如果没有安德斯的回答,我是不会明白的:)

我也有同样的问题,花了几个小时在网上搜寻答案,但没有任何运气。如果我将processor插件添加到共享项目中,它将生成DeobfuscatorBuilder类,但我会得到与您相同的No RequestContext异常。如果我在GWT war项目上有Processor插件,那么构建器根本不会生成

经过大量的尝试和错误,我发现将共享项目的源目录添加到war项目的处理器插件配置中是可行的。。。

这有点脏,但它确实管用。如果有一个官方的方法不需要跨项目的黑客技术,我会非常欢迎切换,但我还没有看到任何建议

干杯 安迪工作:)非常感谢!!我已经尝试将共享项目的源添加为依赖项,提取它并将其添加到maven处理器插件的类路径中。没有考虑将其设置为sourcedirectory。。。