【问题标题】:Get validation to work with Maven and Requestfactory on Eclipse获取验证以在 Eclipse 上使用 Maven 和 Requestfactory
【发布时间】:2014-04-14 09:19:24
【问题描述】:

我有一个使用 Maven 并使用 RequestFactory 的项目设置。但是我无法通过 Maven 设置进行验证。这就是我的 Maven 设置的样子:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven-compiler-plugin.version}</version>
        <configuration>
            <source>${target.jdk}</source>
            <target>${target.jdk}</target>
            <encoding>${project.build.sourceEncoding}</encoding>
            <proc>none</proc>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>com.google.web.bindery</groupId>
                <artifactId>requestfactory-apt</artifactId>
                <version>${gwt.version}</version>
            </dependency>
        </dependencies>
    </plugin>

我还添加了 Hibernate 验证器。

在 Eclipse 方面,我尝试了各种方法,其中最正确的是这样的:

我还安装了 m2e-apt 插件。

但是我仍然无法运行验证工具。如果我故意犯错误,我不会收到验证错误,当然,当我运行我的应用程序时,我会得到臭名昭著的

严重:意外错误 java.lang.RuntimeException: RequestFactory ValidationTool 必须为 ...

有人知道我缺少什么吗?我应该直接辞职来手动配置 Eclipse 吗?

【问题讨论】:

    标签: google-app-engine validation gwt requestfactory


    【解决方案1】:

    您在maven-compiler-plugin 的配置中明确禁用注释处理:

    <proc>none</proc>
    

    删除该行,它应该运行注释处理器。

    注意there's a regression 和maven-compiler-plugin 3.x 在编译时不再考虑插件依赖项(它可能从未被认为是一个功能)所以你的requestfactory-apt 会JavaC 看不到最近的maven-compiler-plugin 版本,那么你仍然会遇到同样的问题。

    在 Maven 中可靠地使用注释处理器的唯一方法是使用 &lt;scope&gt;provided&lt;/scope&gt; 或 &lt;optional&gt;true&lt;/optional&gt; 将它们声明为项目依赖项,或者使用 maven-processor-plugin。通过maven-compiler-plugin:http://jira.codehaus.org/browse/MCOMPILER-203

    【讨论】:

    • 我使用的是maven-compiler-plugin 2.5.1,所以我不受回归的影响。但我仍然将requestfactory-apt 依赖项移至项目依赖项,它工作得很好。这样我就可以为未来做好准备
    猜你喜欢
    • 1970-01-01
    • 2012-03-05
    • 2014-06-10
    • 1970-01-01
    • 2013-01-18
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多