我希望有多个共享公共代码的GWT项目。这可能吗? AFAICT我的GWT项目需要每个都有自己的目录,源代码直接在下面,这似乎排除了代码共享。我尝试使用链接文件夹,但GWT似乎不喜欢(描述here)。
如果我想这样做,我唯一的选择是将我想要共享的代码转换为.jar文件,然后在我的每个项目的XML文件中继承它?有没有办法让eclipse自动进行这种打包,还是需要某种'change-shared-code / compile-jar / use-in-other-project'循环?
还有其他解决方案吗?
答案 0 :(得分:4)
我在maven的帮助下解决了这个问题。公共代码打包为单独的maven项目,然后用作库。以下是pom.xml文件的片段:
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>2.0.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>2.0.4</version>
<scope>provided</scope>
</dependency>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/client/**/*.java</include>
<include>**/client/**/*.properties</include>
<include>**/shared/**/*.java</include>
<include>**/shared/**/*.properties</include>
<include>**/*.gwt.xml</include>
</includes>
</resource>
</resource>
</build>
上面的构建配置将GWT编译器所需的其他源文件复制到最终的jar中。
如果将eclipse用作IDE,m2eclipse插件可用于自动处理所有依赖项。可以在单个工作空间中打开所有项目,并共享公共项目的类路径。唯一的缺点是需要不时调用project > clean
(将强制嵌入式maven复制上面代码段中指定的所有资源)。
答案 1 :(得分:1)
我认为您需要做的就是制作两个单独的GWT项目,例如:项目A用于共享代码,项目B使用项目A中的代码。
一旦有了这两个项目,就需要两个步骤:
您现在应该能够在Eclipse中使用托管模式/编译。