Java GWT 2.4-在Web服务器上部署

Java GWT 2.4-在Web服务器上部署,java,mysql,gwt,Java,Mysql,Gwt,一位客户向我发送了一个在GWT2.4中开发的项目。它使用了三个MYSQL表。我在开发模式下运行该项目,工作正常 但是当我在做Project->右键单击->谷歌->GWT编译时,我将war目录上传到我的web服务器上,我无法连接到Mysql 这是我第一次使用这项技术。我做错什么了吗?我必须上传其他东西吗?除了war director和GWT Compile之外,请确保您的所有.class文件都位于WEB-INF/classes目录下。您可以使用任何构建脚本(Maven/Ant等)或使用eclips

一位客户向我发送了一个在GWT2.4中开发的项目。它使用了三个MYSQL表。我在开发模式下运行该项目,工作正常

但是当我在做
Project->右键单击->谷歌->GWT编译时,我将war目录上传到我的web服务器上,我无法连接到Mysql


这是我第一次使用这项技术。我做错什么了吗?我必须上传其他东西吗?除了war director和GWT Compile之外,请确保您的所有.class文件都位于WEB-INF/classes目录下。您可以使用任何构建脚本(Maven/Ant等)或使用eclipse导出war来创建.war文件

用于创建war文件的示例Maven脚本

http://maven.apache.org/maven-v4_0_0.xsd“>

4.0.0
[源\包\路径]
[应用程序名称]
战争
1.0.0.CI-SNAPSHOT
[应用程序名称]
1.6
1.6
1.6
2.4.0
${project.build.directory}/${project.build.finalName}
com.google.gwt
gwt servlet
${gwtVersion}
运行时
com.google.gwt
gwt用户
${gwtVersion}
假如
com.google.gwt
gwt开发
${gwtVersion}
测验
…添加与项目相关的其他依赖项
[战争名称]
war/WEB-INF/classes
src
**/*.gwt.xml
**/*.xml
src/main/resources
maven清洁插件
2.3
目标
.gwt tmp
war/[应用程序名称]
war/WEB-INF/classes
org.codehaus.mojo
构建助手maven插件
1.7
生成源
添加源
src
org.codehaus.mojo
GWTMaven插件
${gwtVersion}
com.google.gwt
gwt用户
${gwtVersion}
com.google.gwt
gwt开发
${gwtVersion}
com.google.gwt
gwt servlet
${gwtVersion}
GWT编译器
准备包装
编写
生成同步
信息
模糊的
[目标网页]
${project.groupId}.[应用程序名称]
target/www
符合事实的
符合事实的
org.apache.maven.plugins
maven编译器插件
2.3.2
${maven.compiler.source}
${maven.compiler.target}
maven资源插件
2.5
编写
复制资源
target/www
战争
org.apache.maven.plugins
maven战争插件
2.1.1
编写
战争
符合事实的
war/WEB-INF/WEB.xml
${webappDirectory}
战争
**/*.*
中心的
http://repo1.maven.org/maven2/

您的war(或其他web服务器)需要提供在web服务器(例如Tomcat)上运行war所需的库和类。请尝试使用Ant脚本,例如warbuilder.xml,其外观如下:

<project name="sourceCodeDirName" basedir="." default="default">

<target name="default" depends="buildwar"></target>

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

</project>

注1:basedir=“”表示您将warbuilder.xml放在项目的根目录中。 注2:对我来说,这是正确的,唯一的区别是我在解包后手动复制了classes文件夹。我意识到这可以用它来完成,所以我只在脚本中添加了原始内容。

注3:这个Ant脚本应该在GWT编译后调用。

我想在Apache服务器中运行它。进入一个web托管服务器页面。我如何从eclipse创建这个.war文件?您是使用服务器端Java还是基于PHP或python。我使用服务器端Java。用示例maven脚本更新了我的答案。我将这个warbuilder.xml放在我的项目根目录(build.xml所在)和GWT编译后我(右键单击它)以Ant build(来自Eclipse)的形式运行?之后我在web服务器上上载哪些文件夹?war文件夹和www?您应该只部署war文件。以及我如何从web服务器上运行war文件?(Apache?)构建文件:C:\Users\ba
<project name="sourceCodeDirName" basedir="." default="default">

<target name="default" depends="buildwar"></target>

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

</project>