gpt4 book ai didi

java - 尝试将我的 GWT 项目拆分为多个模块 - "did you forget to inherit a required module?"

转载 作者:行者123 更新时间:2023-12-01 23:18:57 27 4
gpt4 key购买 nike

这是我第一次尝试将 GWT 项目拆分为多个模块,但遇到了困难。我的第一个项目包含一些常见的模型和 ui 代码;其模块XML如下:

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to="parentmodule">

<inherits name='com.google.gwt.user.User'/> <!-- core -->
<inherits name='com.google.common.base.Base'/> <!-- Preconditions -->
<inherits name='com.google.gwt.inject.Inject'/> <!-- GIN -->
<inherits name='com.ekuefler.supereventbus.SuperEventBus'/> <!-- event binding -->
<inherits name="com.google.gwt.logging.Logging"/> <!-- console logging -->

<source path='client'/>
<source path='shared'/>
</module>

它由 Maven 打包为 JAR (parentmodule.jar)。

我想从几个子模块依赖这个模块。例如,我有:

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to="childmodule">

<inherits name='com.google.gwt.user.User'/>
<inherits name='com.foo.parentmodule'/> <!-- core -->

<source path='client'/>
<source path='shared'/>

<entry-point class='com.foo.Index'/>

</module>

我的问题是,当 GWT 编译器运行时,它无法解析常见的模型类;例如:

[INFO]          [ERROR] Line 27: No source code is available for type com.foo.shared.model.User; did you forget to inherit a required module?

需要明确的是,com.foo.shared.model.User 位于parentmodule.jar 中。 Maven依赖设置正确; Java 编译器(和我的 IDE)认为它没有任何问题。那么我在这个模块设置中缺少什么?

谢谢

最佳答案

您不需要直接依赖User; GWT 依赖关系是暂时的。问题似乎是您没有将源代码包含在 parentmodule jar 中,并且 GWT 需要所有依赖的模块的源代码。

有几种方法可以处理这个问题;我的首选方法是确定哪些 Maven Artifact 需要对 GWT 可见,然后添加必要的源文件作为 Maven 资源:

<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
<include>**/*.gwt.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>

关于java - 尝试将我的 GWT 项目拆分为多个模块 - "did you forget to inherit a required module?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20831570/

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