【发布时间】:2011-07-21 03:50:13
【问题描述】:
如何在 Eclipse 中从我的 gwt 项目创建 .war 文件?
【问题讨论】:
如何在 Eclipse 中从我的 gwt 项目创建 .war 文件?
【问题讨论】:
我一直使用 Ant 构建文件,所以项目一键编译打包成一个 war。
在您的项目中添加一个 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>
(将 `YourProject.EntryPointClass 编辑为您的 EntryPoint 类的路径)
您需要将 gwt-user.jar 和 gwt-dev.jar 添加到您的项目构建路径(右键单击您的项目 -> 构建路径 -> 添加外部存档)。
如果您现在查看“问题”视图,您会收到一条警告,指出这两个文件在服务器的类路径中不可用。您可以使用 QuickFix 将其复制到 WEB-INF/lib 或隐藏警告。构建文件不会在 war-file 中包含这两个文件。
编译和创建文件所需要做的就是右键单击 xml 文件并选择 run as Ant Build。
【讨论】:
使用 Eclipse:
右击项目
选择 Google→GWT 编译
编译完成后,控制台会显示i.e.
链接到 /home/janus/bpworkspace/gwtwerkstatt2/war/gwtwerkstatt2
链接成功
编译成功——28.623s
打开终端并导航到目录
创建 WAR:jar cv * > /tmp/myGWTproject.war
您现在可以使用 jetty-runner 或类似工具启动它:java -jar jetty-runner-8.1.7.v20120910.jar /tmp/myGWTproject.war
【讨论】:
我刚刚找到了这个解决方案,太棒了:) 只需安装 jar 并享受解压到 war 文件的过程。
【讨论】:
也可以使用 webAppCreator 来生成 Ant 构建文件。
webAppCreator 附带 GWT SDK 和 Eclipse GWT 插件。首先定位GWT插件目录
find $HOME/.eclipse/ -name "*gwt*sdk*"
这将输出 GWT 插件目录路径。该目录具有 gwt 目录,类似于 gwt-2.4.0。 WebAppCreator 将在此目录中。将此目录设置为 GWTSDK_HOME。
export GWTSDK_HOME=/home/m/.eclipse/org.eclipse.platform_3.7.0_1364963873/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201201120043-rel-r37/gwt-2.4.0
使 webAppCreator 可执行
chmod 755 $GWTSDK_HOME/webAppCreator
现在在某个临时目录中使用 webAppCreator 创建一个项目。
$GWTSDK_HOME/webAppCreator -out fins in.m.fins.Fins
in.m.fins.Fins 是模块名称。这必须与 Eclipse 工作区中项目的 gwt.xml 相匹配。如果你的 gwt.xml 是 src/in/m/fins/Fins.gwt.xml 那么模块名称应该是 in.m.fins.Fins
-out fins 将在 fins 目录中创建项目和 build.xml。将生成的 build.xml 文件复制到 Eclipse 工作区中的项目中。
在 Eclipse Ant Window 中运行 war 目标以将您的项目打包为 war
【讨论】:
你必须从这里安装 GWT 设计器
就是这样。适用于我的 GWT 2.4.0、Eclipse 4.2 的 Google 插件、Eclipse Juno
【讨论】:
供将来参考:您将在http://blog.elitecoderz.net/ 上找到另一个关于如何使用 Eclipse 创建 .war 的教程。
【讨论】:
先编译你的项目。然后: 1. 打开您的项目。 2. 导航到战争文件夹。 3. 转到文件>导出>存档文件 4. 将您的战争文件夹导出为 zip 文件。 5. 将您的文件扩展名形式 .zip 更改为 .war 6. 保持冷静,享受你的战争档案。
【讨论】:
编译您的项目。那么:
【讨论】: