0

我正在尝试运行我从官方 GWT 网站下载的关于 RPC 和 Hibernate 的“project.zip”,网址为http://www.gwtproject.org/articles/using_gwt_with_hibernate.html

该指南建议:

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

所以我在 Eclipse 上使用New > Project menu-> Java Project from Existing Ant Buildfile向导导入了它。

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

如何将这个 Ant 构建 project.zip 更改为普通项目 GWT?我很惊讶官方的谷歌指南怎么会带来这么多问题!

如果你需要它,这是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>
4

1 回答 1

0

ant

构建项目。

ant hosted

运行项目。

我对普通 GWT 项目的概念感到困惑……我不确定它的含义。但是,如果它意味着一个eclipse-ready-GWT-project,您可能会感到失望,因为正如您自己指出的那样:

您可以使用 Ant 构建项目

它是一个基于 ant 的项目,而不是 eclipse 项目。您可以从 eclipse 中调用 ant,但没有特定的 eclipse 文件(.project 和 .classpath),因此它可以与 gwt eclipse 插件一起运行而无需自己配置。

于 2013-10-14T19:48:59.580 回答