从gwt-project创建一个.war文件

der*_*erp 26 java gwt tomcat war

如何在eclipse中从我的gwt-project创建一个.war文件?

Chr*_*ing 31

我总是使用Ant构建文件,因此只需单击一下即可将项目编译并打包为战争.

使用以下内容将xml文件添加到项目中:

<project name="test" basedir="." default="default">
<property name="src.dir" value="src" />
<property name="build.dir" value="war" />
<path id="compile.classpath">
    <fileset dir="${build.dir}/WEB-INF/lib">
        <include name="**/*.jar" />
        <include name="**/*.xml" />
    </fileset>
</path>

<target name="default" depends="gwtc, buildwar,deploy">
</target>

<target name="gwtc" description="GWT compile to JavaScript">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
        <classpath>
            <pathelement location="${src.dir}" />
            <path refid="compile.classpath" />
        </classpath>
        <arg line="-logLevel INFO" />
        <jvmarg value="-Xmx1024M" />
        <arg value="YourProject.EntryPointClass" />
    </java>
</target>

<target name="buildwar">
    <war basedir="war" destfile="YourProject.war" webxml="war/WEB-INF/web.xml">
        <exclude name="WEB-INF/**" />
        <webinf dir="war/WEB-INF/">
            <include name="**/gwt-servlet.jar" />
            <include name="**/classes/**" />
        </webinf>
    </war>
</target>

<target name="deploy">
    <copy file="YourProject.war" todir="." />
</target>

</project>
Run Code Online (Sandbox Code Playgroud)

(将`YourProject.EntryPointClass编辑为EntryPoint类的路径)

你需要添加gwt-user.jargwt-dev.jar你的项目构建路径(右击你的项目- >构建路径- >添加外部高校档案).

如果您现在查看"问题" - 查看,您会收到一条警告,指出这两个文件在服务器的类路径中不可用.您可以使用QuickFix将其复制到WEB-INF/lib或隐藏警告.构建文件不会在war文件中包含这两个文件.

编译和创建文件所需要做的就是右键单击xml文件并选择run as Ant Build.


Jan*_*sen 12

使用Eclipse:

  1. 右键单击该项目
  2. 选择Google→GWT Compile
  3. 编译完成后,控制台会说ie

    链接到/ home/janus/bpworkspace/gwtwerkstatt2/war/gwtwerkstatt2

    链接成功

    编译成功 - 28.623s

  4. 打开终端并导航到该目录

  5. 创建WAR: jar cv * > /tmp/myGWTproject.war
  6. 你现在可以用jetty-runner或类似的方式启动它: java -jar jetty-runner-8.1.7.v20120910.jar /tmp/myGWTproject.war

  • 请注意任何绊倒这个答案的人,就像我刚刚做的那样:你必须做"jar cvf YourWar.war".来自war目录,而不是在步骤3中链接到的目录. (2认同)