eclipse 3.x中熱部署WEB程序TOMCAT配置

Eclipse3.x中熱部署項目,啓動錯誤問題:

 

2009-4-14 22:12:33 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:t' did not find a matching property.
2009-4-14 22:12:33 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:/Program Files/Java/jre6/bin;.;C:/WINDOWS/Sun/Java/bin;C:/WINDOWS/system32;C:/WINDOWS;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;.;F:/apache-tomcat-6.0.16/bin;F:/mysql/mysql-5.1.32-win32/bin;F:/oraclexe/app/oracle/product/10.2.0/server/bin;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/Program Files/Common Files/Roxio Shared/DLLShared/;C:/Program Files/Java/jdk1.6.0_02/bin;F:/SVNclient/TortoiseSVN/bin;C:/Program Files/StormII/Codec;C:/Program Files/StormII
2009-4-14 22:12:33 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8888
2009-4-14 22:12:33 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 729 ms
2009-4-14 22:12:33 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2009-4-14 22:12:33 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.16
2009-4-14 22:12:34 org.apache.catalina.core.StandardContext resourcesStart
嚴重: Error starting static Resources
java.lang.IllegalArgumentException: Document base F:/myproject/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/t does not exist or is not a readable directory
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:141)
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3957)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4126)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009-4-14 22:12:34 org.apache.catalina.core.StandardContext start
嚴重: Error in resourceStart()
2009-4-14 22:12:34 org.apache.catalina.core.StandardContext start
嚴重: Error getConfigured
2009-4-14 22:12:34 org.apache.catalina.core.StandardContext start
嚴重: Context [/t] startup failed due to previous errors
2009-4-14 22:12:34 org.apache.catalina.core.StandardContext stop
信息: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/t] has not been started
2009-4-14 22:12:34 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8888
2009-4-14 22:12:34 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2009-4-14 22:12:34 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/47  config=null
2009-4-14 22:12:34 org.apache.catalina.startup.Catalina start
信息: Server startup in 497 ms

 

產生問題是因爲創建新的server和WEB項目後沒有正確配置server服務,現正確配置如下

 

解決辦法:

1.在servers中新建的SERVER上右擊——屬性的General項下右邊Location屬性點擊SwitchLocation按鈕,設置成/Servers/Tomcat v6.0 Server at localhost.server

(Server s : Properties -> General -> Location = /Servers/Tomcat v6.0 Server at localhost.server ;)

2.雙擊新建的server,修改Server Options設置:將Publish module contexts to separate XML files 打鉤(最下面)

 

3. 配置WEB項目的server選項:右擊WEB項目——屬性(properties)——server(新建WEB項目後默認是none)選中裏面您servers熱部署中創建的server(我的是Tomcat v6.0 Server at localhost.server )。

 

搜索到的相關解釋:

(

 

Explaination :

  • Tomcat of previous version doesn' t support the "source" attribute in the "Context" node of "server .xml" file.

Result :

  • A separate XML file named "demo.xml" was created in the "$server path$/conf/Catalina/localhost/".

)

 

  注意:【metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/t does not exist or is not a readable directory 】該問題是WEB項目作了不恰當的重命名相關文件夾,或則誤刪除某些目錄又重新創建後導致eclipse無法在使用熱部署時候自動同步相關配置。

此時:可手動部署方式將固定的WEB部署目錄結構創建到metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/目 錄底下。如:mytest項目 可以創建結構如下:創建mytest目錄,在mytest文件夾目錄中創建META-INF、WEB-INF兩個文件夾目錄。配置到這,此兩個文件夾目錄 底下應該放些什麼內容,大家應該都清楚了。正常項目tomcat中結構。如果是新建項目啥都還沒寫的話建議刪除重新創建一個WEB項目,此時 ECLIPSE會自動感應。

 

 

到此配置完畢,重新啓動吧。應該沒問題了。

啓動正確輸出信息:

2009-4-14 22:35:40 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:/Program Files/Java/jre6/bin;.;C:/WINDOWS/Sun/Java/bin;C:/WINDOWS/system32;C:/WINDOWS;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;.;F:/apache-tomcat-6.0.16/bin;F:/mysql/mysql-5.1.32-win32/bin;F:/oraclexe/app/oracle/product/10.2.0/server/bin;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/Program Files/Common Files/Roxio Shared/DLLShared/;C:/Program Files/Java/jdk1.6.0_02/bin;F:/SVNclient/TortoiseSVN/bin;C:/Program Files/StormII/Codec;C:/Program Files/StormII
2009-4-14 22:35:40 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8888
2009-4-14 22:35:40 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 594 ms
2009-4-14 22:35:40 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2009-4-14 22:35:40 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.16
2009-4-14 22:35:40 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8888
2009-4-14 22:35:40 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2009-4-14 22:35:40 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/31  config=null
2009-4-14 22:35:40 org.apache.catalina.startup.Catalina start

信息: Server startup in 439 ms

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章