【问题标题】:Gwt compiling error: unable to find entry point when it's not in src/main/javaGwt 编译错误:当它不在 src/main/java 中时无法找到入口点
【发布时间】:2014-05-23 20:00:39
【问题描述】:

我在编译我的应用时出错:

[INFO] Compiling module com.mycompany.myapp.MyAppMocked
[INFO]    Finding entry point classes
[INFO]       [ERROR] Unable to find type 'com.mycompany.myapp.client.mock.MockEntryPoint'
[INFO]          [ERROR] Hint: Check that the type name 'com.mycompany.myapp.client.mock.MockEntryPoint' is really what you meant
[INFO]          [ERROR] Hint: Check that your classpath includes all required source roots

在我的 .gwt.xml 中,我有:

<entry-point class="com.mycompany.myapp.client.mock.MockEntryPoint" />

当我将 MockEntryPoint.java 放在 src/mocked/java 而不是 src/main/java 时,就会出现问题。

在编译“no-mock”版本时,我需要同时拥有两个目录以排除 src/mocked/java 中的所有内容。

如果我将 MockEntryPoint.java 移动到 src/main/java,编译将成功且没有错误。在这两种情况下,MockEntryPoint 类都在包“com.mycompany.myapp.client.mock”中。

如何告诉 gwt 在 src/mocked/java 中查找我的入口类?

【问题讨论】:

    标签: gwt compilation entry-point


    【解决方案1】:

    假设这是一个 Maven 项目,您需要添加 src/mocked/java 作为源文件夹。在 Maven 中,必须使用 build-helper-maven-pluginadd-source mojo 来完成。


    但几乎没有理由拥有 src/mocked 层次结构:

    • 您可以将所有内容放在src/main 中,然后编译您需要/想要的GWT 模块(相应地为gwt-maven-plugin 设置modulemodules 配置属性)
    • 如果您希望它们清楚地分开,Maven 希望您使用不同的 Maven 模块/项目。您不想与 Maven 对抗。

    【讨论】:

      【解决方案2】:

      在您的 .gwt.xml 中将声明 &lt;source path='main'/&gt; 替换为 &lt;source path='mocked'/&gt; 然后编译器就会知道选择哪个目录进行编译。

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        • 2019-10-23
        • 2017-12-28
        • 1970-01-01
        相关资源
        最近更新 更多