将Ant构建项目作为Web应用程序运行

时间:2013-10-14 18:27:38

标签: eclipse gwt servlets web-applications ant

我正在尝试运行一个“project.zip”我已经从官方GWT站点下载了http://www.gwtproject.org/articles/using_gwt_with_hibernate.html的RPC和Hibernate。

指南建议:

  

“您可以使用Ant来构建项目,以及启动托管模式   在嵌入式Jetty中查看UI和我们的Hibernate实例设置   服务器“。

所以我在Eclipse上用 New>导入它项目菜单 - >来自现有Ant Buildfile 向导的Java项目。

我的最终目标是在Eclipse上运行它作为web应用程序,但它给了我各种类型的错误,最重要的是没有运行as->网络应用程序但只有 as - > ant build ! Eclipse中缺少所有War目录。

如何将此Ant构建project.zip更改为正常的项目GWT?我很惊讶Google官方指南可以解决这么多问题!

如果需要,这是 build.xml

<?xml version="1.0" encoding="utf-8" ?>
<project name="Guestbook" default="build" basedir=".">

    <!-- Define gwt.home, gwt.dev.jar, appengine.sdk.home -->
    <property file="build.properties"/>

    <path id="project.class.path">
        <pathelement location="war/WEB-INF/classes"/>
        <pathelement location="${gwt.home}/gwt-user.jar"/>
        <!-- Add any additional non-server libs (such as JUnit) -->
        <fileset dir="war/WEB-INF/lib">
            <include name="**/*.jar"/>
        </fileset>
    </path>

    <target name="libs" description="Copy libs to WEB-INF/lib">
        <mkdir dir="war/WEB-INF/lib" />
        <copy todir="war/WEB-INF/lib" file="${gwt.home}/gwt-servlet.jar" />
        <!-- Add any additional server libs that need to be copied -->
        <copy todir="war/WEB-INF/lib" flatten="true">
            <fileset dir="lib/">
                <include name="**/*.jar"/>
            </fileset>
        </copy>
     </target>

      <target name="javac" depends="libs" description="Compile java source">
        <mkdir dir="war/WEB-INF/classes"/>
        <javac srcdir="src" includes="**" encoding="utf-8"
            destdir="war/WEB-INF/classes"
            source="1.5" target="1.5" nowarn="true"
            debug="true" debuglevel="lines,vars,source">
            <classpath refid="project.class.path"/>
        </javac>
    </target>

    <!-- can add additional arguments like -logLevel INFO or -style PRETTY -->
    <target name="gwtc" depends="javac" description="GWT compile to JavaScript">
        <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
            <classpath>
                <pathelement location="src"/>
                <path refid="project.class.path"/>
                <pathelement location="${gwt.home}/${gwt.dev.jar}"/>
            </classpath>
            <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError -->
            <jvmarg value="-Xmx256M"/>
            <arg value="com.google.musicstore.MusicStore"/>
        </java>
    </target>

    <target name="hosted" depends="javac" description="Run hosted mode">
        <java failonerror="true" fork="true" classname="com.google.gwt.dev.HostedMode">
            <classpath>
                <pathelement location="src"/>
                <path refid="project.class.path"/>
                <pathelement location="${gwt.home}/${gwt.dev.jar}"/>
            </classpath>
            <jvmarg value="-Xmx256M"/>
            <arg value="-startupUrl"/>
            <arg value="MusicStore.html"/>
            <arg value="com.google.musicstore.MusicStore"/>
            <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->
        </java>
    </target>

    <target name="build" depends="gwtc" description="Build this project" />

    <target name="clean" description="Cleans this project">
        <delete dir="war/WEB-INF/classes" failonerror="false" />
        <delete dir="war/musicstore" failonerror="false" />
    </target>

</project>

1 个答案:

答案 0 :(得分:0)

运行

ant

建立项目。

运行

ant hosted

运行项目。

我对正常GWT项目的概念感到困惑......我不确定它是什么意思。但是,如果它意味着 eclipse-ready-GWT-project ,你可能会感到失望,因为你自己注意到了:

  

您可以使用Ant来构建项目

这是一个基于蚂蚁的项目,而不是日食项目。你可以从eclipse中调用ant,但是没有特定的eclipse文件(.project和.classpath),所以它可以运行gwt eclipse插件而无需自己配置。