6

我会告诉你我已经完成的所有步骤。我还会提供一些图片,以使我的问题更容易理解。任何建议都会很好。

不得不说我用

Tomcat 6(安装在 C:\Program Files\Apache Software Foundation\Tomcat 6.0)

Eclipse 3.7(靛蓝)

Eclipse 3.7 的 Google 插件(用于使用 GWT)

在 Eclipse 中,我创建了一个服务器 在此处输入图像描述 ,我将 $CATALINA_HOME 设置在 C:\Program Files\Apache Software Foundation\Tomcat 6.0

我还应该说,当我尝试从 Eclipse 运行 Tomcat 时出现异常(我的意思是 R-click on server -> start)。

INFO: Starting Servlet Engine: Apache Tomcat/6.0.36
12 бер 2013 17:01:38 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
12 бер 2013 17:01:38 org.apache.jasper.EmbeddedServletOptions <init>
SEVERE: The scratchDir you specified: C:\Program Files\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\docs is unusable.
12 бер 2013 17:01:38 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory helloserver
12 бер 2013 17:01:38 org.apache.jasper.EmbeddedServletOptions <init>
SEVERE: The scratchDir you specified: C:\Program Files\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\helloserver is unusable.
12 бер 2013 17:01:38 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory manager
12 бер 2013 17:01:38 org.apache.catalina.startup.HostConfig deployDirectory
SEVERE: Error deploying web application directory manager
java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost\manager.xml (The system cannot find the path specified)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:145)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1051)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
12 бер 2013 17:01:38 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
12 бер 2013 17:01:38 org.apache.jasper.EmbeddedServletOptions <init>
SEVERE: The scratchDir you specified: C:\Program Files\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\_ is unusable.
12 бер 2013 17:01:38 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
12 бер 2013 17:01:38 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
12 бер 2013 17:01:38 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/28  config=null
12 бер 2013 17:01:38 org.apache.catalina.startup.Catalina start
INFO: Server startup in 722 ms

我检查了 conf 目录中没有目录。

好的,看看我接下来要做什么(我使用本手册http://courses.coreservlets.com/Course-Materials/pdf/ajax/GWT-Intro.pdf):

1) 创建一个新的 Web 应用程序项目 (GWT)。它在 Jetty 上运行良好

2)比我需要导出一个WAR文件。 在此处输入图像描述

3)第一个问题(也是我认为的主要问题): WAR 文件没有转到 C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps。但它转到 c:\Users\username\AppData\Local\VirtualStore\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ 。此外,我尝试创建一个动态 Web 项目并尝试在服务器上运行它(r-click -> 运行方式 -> 在服务器上运行)。而且它部署在同一目录中(我的意思是 c:\Users\username\AppData\Local\VirtualStore\Program Files\Apache Software Foundation\Tomcat 6.0\webapps)。我不明白为什么!是什么原因?

4)然后我尝试在桌面上导出WAR文件(我的意思是GWT项目)。一切正常,然后我手动将战争文件放入 C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps (Tomcat 仍在工作)。

5)另一个问题是Tomcat没有解包WAR文件。http://localhost:8080/helloserver尝试将其加载到 Web 浏览器 ( )中时,我没有得到任何结果。然后我手动解包 WAR 文件并将 helloserver 目录放到 webapps 中,它就可以工作了!一切正常。

4

1 回答 1

2

日志文件中的初始错误往往表明您没有manager安装 tomcat 应用程序(或者可能已安装,但只是配置错误/禁用)。

尝试manager通过浏览来验证应用程序是否正常运行

http://youmachine.domain:8080/manager/html

如果您可以登录并查看已安装的 Web 应用程序列表,那么您就知道您的 Tomcat 管理器应用程序可以正常工作。

我将猜测并假设后续问题来自尝试使用文件复制部署方案(由您发起以尝试使其工作,或作为 Windows / eclipse 的后备启动)使用文件复制部署方案,它是被重定向,因为这是应用程序存储方案的本地。

您真的想通过管理器应用程序上传 WAR,不要费心尝试修复复制方案,因为它在后面的 Windows 系统上与虚拟应用程序存储配置方案一起运行。

于 2013-03-12T16:39:42.107 回答