0

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

4

2 回答 2

0

我们有一个类似的案例,这里是我们用来为我们的任务引擎构建一个外部 jar 的目标。这将从命令行为您构建一个 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>
于 2012-11-10T12:34:02.670 回答
0

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

于 2012-11-12T13:18:55.153 回答