2012-11-10 112 views
0

我有三个GWT项目。 2个常见的GWT(引导程序&数据传输对象)项目,它不包含任何UI部分。所以,我想编译这两个项目并创建jar,并希望将其包含在第三个GWT项目中。我在Eclipse中完成了[Project-> Export-> Jar file]。它工作正常。我想要做它的命令行或通过ant build.xml。如果你认识任何人,请你帮忙。如何将GWT项目编译为jar文件并将其添加到另一个GWT项目中?

回答

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> 
0

我觉得,最简单灵活的方法就是使用Maven。每个项目都代表存储在本地存储库中的单独Maven artefact。在您的主项目中,您应该做的一件事是将几个依赖关系添加到您的POM文件中。而已。我长期使用这种模式。

相关问题