作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我第一次尝试将 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/
我是一名优秀的程序员,十分优秀!