簡體   English   中英

無法將Eclipse創建的WAR文件正確部署到Tomcat

[英]Cannot properly deploy WAR file created by Eclipse to Tomcat

我要告訴你我所做的所有步驟。 我還會給一些照片讓我的問題更容易理解。 任何建議都會很好。

有必要說我用

Tomcat 6(在C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 6.0上存在)

Eclipse 3.7(靛藍)

eclipse 3.7的谷歌插件(用於GWT)

在eclipse中我創建了一個服務器 在此輸入圖像描述 我在C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 6.0中設置了$ CATALINA_HOME

我還應該說當我嘗試從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 - > run as - >在服務器上運行)。 而且它部署在同一目錄中(我的意思是c:\\ Users \\ username \\ AppData \\ Local \\ VirtualStore \\ Program Files \\ Apache Software Foundation \\ Tomcat 6.0 \\ webapps)。 我不明白為什么! 是什么原因?

4)然后我嘗試在桌面上導出WAR文件(我的意思是GWT Project)。 它很好,然后我手動將war文件放到C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 6.0 \\ webapps(Tomcat仍在工作)。

5) 另一個問題是 Tomcat沒有解壓縮WAR文件。 並且我沒有嘗試在Web瀏覽器中加載它( http://localhost:8080/helloserver )。 而且我手動解壓縮WAR文件並將helloserver目錄放到webapps上並且它可以工作! 一切正常。

日志文件中的初始錯誤往往表明您沒有安裝tomcat manager應用程序(或者可能已安裝,但只是未正確配置/禁用)。

嘗試通過瀏覽驗證manager應用程序是否正常運行

HTTP://youmachine.domain:8080 /經理/ HTML

如果您可以登錄並查看已安裝的Web應用程序列表,那么您就知道您的tomcat管理器應用程序正常運行。

我將猜測並假設后續問題來自嘗試(由您嘗試使其工作,或由Windows / eclipse作為后備啟動)來使用文件復制部署方案,並且它是重定向,因為這是應用程序存儲方案的本地。

你真的想通過管理器應用程序上傳WAR,不要試圖修復復制方案,因為它在后面的Windows系統上運行虛擬應用程序存儲配置方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM