我正在寻找一种制作解耦 GWT 组件的方法。这样我就可以将它集成到其他不同的 GWT 组件或项目中。
例如:我有一个自定义的 GWT Tree 小部件(自己的 css ),现在我想通过在项目中添加 .jar 来在其他 GWT 应用程序中使用此 Tree 小部件。
最好的方法是什么?
编写可重用的 GWT 库 (JAR) 比仅仅继承模块要复杂一些,因为您的高级项目(使用该库)需要访问类源,而不是编译后的代码。
是否创建实际的实用程序“模块”(继承)取决于您。 GWT 不需要这个。我只在顶层定义模块。我的实用程序 JAR 只是类的集合,就像它们在没有 GWT 的普通 Java 中一样。
将代码:Java 类、图像和其他资源移动到单独的项目/模块中,从而构建单独的 JAR。
将其放入您的库 JAR Maven 文件中:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>x.y.z/**/*.java</include>
</includes>
</resource>
</resources>
如果有图像和其他资源,请不要忘记包含它们 - 不仅仅是“*.java”。请记住,如果您要分发该模块,那么这就是您的源文件,因此要尽可能受到限制,并且不要包含非 GWT 内容。
将该 JAR 包含在主项目的 Maven 依赖项中。就是这样。不要弄乱 GWT 模块。
编辑:确保在实用程序 JAR 中使用与主(消耗)GWT 项目相同的包结构。或者将这些包添加到模块声明中。
您的 Maven GWT 插件应保留在主模块中,而不是实用程序 JAR 中。
我是一名优秀的程序员,十分优秀!