[SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server


今天電腦突然斷電斷網。然後eclipse就彈出Publishing failed with multiple errors窗口,這還不算,打開網站訪問項目竟然訪問不了報404錯誤!啓動Tomcat控制檯的輸出也和以前不一樣...

於是乎經過刷新工程,關閉開啓工程(close Project和open Project)和重啓eclipse和tomcat後不知道什麼時候就不彈出Publishing failed with multiple errors窗口了。、


但依舊不能訪問項目,仔細看下控制檯,有以下警告語句:

警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:testDemo' did not find a matching property.

也就是tomcat每次添加新項目(Add and Remove裏添加項目)後生成 項目名.xml 文件,這個項目的xml文件在eclipse關聯的tomcat中默認是在類似於“D:\Java\eclipseWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost”文件夾裏面,打開它可以看到該xml文件裏有Context標籤,它有source屬性,如下圖:

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:\Java\eclipseWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\testDemo" path="/testDemo" reloadable="true" source="org.eclipse.jst.jee.server:nationTax"/>


問題就在於tomcat在當前情況下不能識別這個source屬性

網上的做法是在eclipse的servers窗口下雙擊Tomcat Server at localhost,在文本編輯區就有Tomcat Server at localhost的信息界面,在Server Options的下面選項中勾選Publish module contexts to separate XML files。

但我勾了,卻沒用!(網上說tomcat6.0有用,tomcat7.0沒用,我的就是)


看了網上的說法是eclipse關聯tomcat會在它的配置文件中加入source屬性,tomcat識別不了...


網上解法:所謂問題在哪就解決哪裏,首先想到的是刪除source...但是依舊沒用,看網上方法,還需改變docBase與path的值才能生效,具體類似下面:

<Context docBase="../wtpwebapps/testDemo" path="/" reloadable="true" source="org.eclipse.jst.jee.server:testDemo"/>

改了後重啓tomcat有用,不過在重啓eclipse後沒用了,該配置文件也會改變,這個方法治標不治本,而且eclipse似乎有"抗性",後來把配置文件改成上面的都沒用了!

在網上找了N久,最後終於真正的治本方法來了:

1.刪除servers裏的項目(Add and Rvmove裏面刪除)。

2.修改Servers項目的配置文件server.xml(當eclipse關聯好tomcat時,會自動建立一個Servers項目)。

3.刪除配置的項目,即在文件末尾刪除Context標籤。(我的沒有這步,因爲我沒看到Context標籤,可能remove項目時server.xml也一併修改了。)

4.選擇eclipse的最上方導航欄中的Project,裏面有對項目的clean 和 build,選擇好項目後就clean再build就行。

5.最後就是重新添加項目運行就行了









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