Eclipse建立Dynamic Web部署

來源:互聯網
上載者:User

標籤:des   blog   http   java   使用   os   io   檔案   

Eclipse建立Dynamic Web部署

 

http://blog.csdn.net/sweblish/article/details/6686046

 

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

一直以來總是Eclipse建立maven工程的,突然有一天有個同事讓我幫他建有個Dynamic Web工程,我說,好啊,這還不容易。於是我就建了一個,居然跑不起來。試了幾次之後,都沒有找到原因,我就鬱悶了。編譯的內容也沒有到Tomcat下的webapp下,我就很奇怪,為什麼就不編譯過去呢。於是就百度、google了許多這方面的問題。得到下面的答案:
 


嚴重: Error starting static Resources
java.lang.IllegalArgumentException: Document base D:\companyworkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\LongLong 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.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    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(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:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2011-8-14 14:56:39 org.apache.catalina.core.StandardContext start
嚴重: Error in resourceStart()
2011-8-14 14:56:39 org.apache.catalina.core.StandardContext start
嚴重: Error getConfigured
2011-8-14 14:56:39 org.apache.catalina.core.StandardContext start
嚴重: Context [] startup failed due to previous error



 

產生問題是因為建立新的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會自動感應。

 

 

如果還有錯誤,那麼在配置:項目--》左擊--》Project Fracets進行如下配置。先選java 6.0  右下角apply,在選Dynamic Web   右下角apply就ok了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.