如何将GWT项目编译为jar文件并将其添加到另一个GWT项目?

时间:2012-11-10 12:24:38

标签: gwt

我有三个GWT项目。 2个常见的GWT(Bootstrap& Data Transfer Objects)项目,它不包含任何UI部分。所以,我想编译这两个项目并创建jar并希望将它包含在第三个GWT项目中。我在Eclipse [Project-> Export-> Jar文件]中完成了。它工作正常。我想要命令行或通过ant build.xml。如果你认识任何人,请帮助你。

2 个答案:

答案 0 :(得分:0)

我们有类似的情况,这里是我们用于为我们的任务引擎构建外部jar的目标。这将从命令行构建一个jar,可以包含在其他项目中。在我们的例子中,我们有一个包含所有域对象和一些服务的大型项目。我们想把它包含在我们的任务引擎中。

  <target name="taskengine-jar" depends="enhance">
    <mkdir dir="build" />
    <mkdir dir="build/META-INF"/>

    <copy todir="build/META-INF">
      <fileset dir="src/META-INF">
        <include name="persistence.xml" />
        <include name="server.properties" />
        <include name="crypto.properties" />
        <include name="sqlDrivers.xml" />
      </fileset>
    </copy>
    <jar destfile="taskengine-jobs.jar">
      <fileset dir="war/WEB-INF/classes">
        <include name="com/hp/vf/server/**" />
        <include name="com/hp/vf/shared/**" />
      </fileset>
      <fileset dir="build">
        <include name="META-INF/**" />
      </fileset>
      <zipgroupfileset dir="war/WEB-INF/lib">
        <include name="axis2.jar" />
        <include name="javamail-1.4.4.jar" />
        <include name="commons-pool-1.6.jar" />
        <include name="openjpa-all-2.2.0.jar" />
        <include name="commons-logging-adapters-1.1.1.jar" />
        <include name="commons-logging-api-1.1.1.jar" />
        <include name="commons-vfs2-2.0.jar" />
        <include name="postgresql-9.0-801.jdbc4.jar" />
        <include name="poi-3.8-beta5-20111217.jar"/>
        <include name="poi-ooxml-schemas-3.8-beta5-20111217.jar"/>
        <include name="poi-ooxml-3.8-beta5-20111217.jar"/>
        <include name="itext-2.1.7.jar"/>
        <include name="REngine.jar" />
        <include name="Rserve.jar" />
        <include name="jsoup-1.6.1.jar" />
        <include name="jfreechart-1.0.13.jar" />
        <include name="jcommon-1.0.16.jar" />
      </zipgroupfileset>
      <fileset dir="war/WEB-INF/lib">
        <include name="addressing-1.1.1.mar" />
        <include name="rampart-1.1.mar" />
      </fileset>

    </jar>
    <delete dir="build" />
  </target>

答案 1 :(得分:0)

我认为,最简单灵活的方法是使用Maven。每个项目代表存储在本地存储库中的单独Maven工件。在主项目中,您应该做的一件事就是在 POM 文件中添加几个依赖项。而已。我使用这个架构很长一段时间。