是否有人知道在GWT中创建自定义组件并在其他项目中将此组件用作jar的任何好教程。
或 任何想法,如何做到这一点。
答案 0 :(得分:2)
你必须创建一个gwt模块。基本上你创建一个没有/ empty entryPoint的gwt项目。构建它时,您必须使用源文件创建一个jar。我认为最好的选择是使用Maven。在这种情况下,你需要gwt maven插件。这将帮助您创建已编译的工件+源工件。这是我在这些模块的pom文件中的典型构建阶段。
<build>
<!-- Generate compiled stuff in the folder used for developing mode -->
<outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<includes>
<include>src/main/java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.2.0</version>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
<configuration>
<compileSourcesArtifacts>
<compileSourcesArtifact>com.mycompany:myartifact</compileSourcesArtifact>
<compileSourcesArtifact>javax.validation:validation-api</compileSourcesArtifact>
</compileSourcesArtifacts>
</configuration>
<executions>
<execution>
<goals>
<goal>resources</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
在第二个项目中,您必须添加新工件的依赖项。感谢gwt maven插件和一些配置,它将能够从存储库中提取源jar。这是pom.xml依赖位
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>myartifact</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
要获得第二个项目gwt-compiling,您需要在第一个项目上添加模块依赖项。这是.gwt.xml位:
<inherits name='com.mycompany.gwt-module-i-want-to-import'/>
希望有所帮助。如果您需要更多信息,请给我一个喊叫。
答案 1 :(得分:1)
GWT需要* .java和* .class在类路径中,所以你只需将* .java与jAR中的* .class一起打包(或者用* .class和另一个制作一个JAR)如果你愿意,可以使用* .java。
除此之外,它真的好像代码在同一个项目中(re.gwt.xml和交叉包/模块边界)
您还需要更多信息吗?