1. 程式人生 > >Eclipse上配置tomcat,釋出web工程

Eclipse上配置tomcat,釋出web工程

如:A專案:D:\javaeclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp7\wtpwebapps\A
說明:(1)D:\javaeclipse\workspace\ 是eclipse當前workspace ,.metadata是eclipse生成的目錄,表示當前 D:\javaeclipse\workspace 是eclipce是工作空間。
            (2).metadata\.plugins
是eclipse外掛目錄,tomcat是以外掛的形式加入到eclipse裡的,因此eclipse的tomcat目錄不是真實tomcat安裝根目
錄,而是eclipse工作空間裡的.metadata\.plugins\org.eclipse.wst.server.core
            (3)至於tmp7 ,那是在eclipse new 一個tomcat
server時,就會在core下建立一個tmp1,2個server就tmp1 和tmp2 ... 以此類推,我建了7個tomcat
server,因此會有tmp7,而我的A就在這個tmp7下部署。這裡的tmp7
表示一個臨時的tomcat(裡面的目錄結構有點像tomcat安裝路徑下的目錄結構,可以理解為一個tomcat複製品,我猜tmp是臨時的意思。)
             (4)wtpwebapps
,通常,我們用tomcat手動部署專案時,工程的釋出位置有2種:1是指conf裡的配置檔案中指定webapp的路徑,也就是web工程路徑,這種從
開發到部署都是用同一個目錄下的檔案,沒有複製或打包;第2種是把web工程打包成war包複製到{tomcat_home}/webapps目錄
下,tomcat自動識別這個war包,解壓war包得到一個web工程,並生成相關jsp檔案放到D:\javaeclipse\workspace
\apache-tomcat-6.0.37\work\Catalina\localhost

下(注意,在localhost下的只是web檔案,不是全部工程檔案,全部檔案應該去webapps下找),這種方式的釋出有個麻煩的地方,就是修改工
程後要重新打包並把新war包放到webapps下,就算你只是修改了一個jsp檔案上的一個文字或識別符號,也要重新生成war包來發布(war包括有改
字尾為rar來檢視裡面的內容,但是,修改裡面的檔案再改回war字尾好像不能被tomcat識別,這點不確定,待測試才知道)
而這裡的wtpwebapps ,應該是相當於實際tomcat的webapps目錄,wtpwebapps 裡的A相當於 webapps下 的A.war生成的A工程,應該是省下來生成war包拷貝到webapps目錄的操作。
換言之,工程的釋出檔案就在這個webapps\A 或 eclipse配置的tomcat-wtpwebapps\A 裡。瀏覽器請求訪問的就是寫A資料夾,而非我們的eclipse下的工作空間workspace裡的真實工程檔案。

這樣就可以解釋,為什麼我們在eclipse修改了web工程裡的一個jsp/js或java檔案後,eclipse會先編譯(building,
有沒有釋出工程eclipse都會重新編譯這個工程,跟tomcat無關,這是eclipse的自檢查功能),然後publish
到eclipse配置的tomcat上,也就是publish到wtpwebapps上。
(如果eclipse沒有配置tomcat,而是手動釋出A,那麼,eclise執行完building後,我們要重新生成war包去覆蓋
tomcat_home\webapps下的原理舊的war包,tomcat會監控war包發生變化而重新發布這個web工程,瀏覽器才能請求到新的
jsp或servlet。當然,如果採用的是
tomcat_home\conf\server.xml配置的方式釋出,就省事多了,eclise上修改完了,building完成後,tomcat默
認會自動重新發布這個工程A。一般的web應用伺服器,如tomcat

jboss resin 應該都有自動重新發布工程的功能。)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

我的工作空間:d:workspace 
web專案名稱:xxx 
在eclipse配置完tomcat後,釋出到的路徑是 d:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 


下 
這個路徑太深了,受不了 
我想使用tomcat的預設路徑 
例如我的tomcat安裝在d:\tomcat下 
預設的釋出路徑是d:\tomcat\webapps下 
如何在eclipse中進行修改呢? 

答案在下面 

1:找到 Server 面板,右擊當前的那個 Tomcat,先 remove 掉其中所有的工程 
2:再右擊那個 Tomcat,選擇 Clean... 清空一下 
3:雙擊那個 Tomcat,會開啟屬性面板,找到左邊第二個 Server Locations,你那個單選框選中的應該是第一個,你選擇第三個,在 Server Path 中輸入你想要的路徑後,儲存即可以了 

也可以選擇第二個是tomcat的安裝路徑 




當然也可以通過配置tomcat進行釋出 

修改server.xml 

在</Host>前面加上 

<Context docBase="D:\apache-tomcat-6.0.20\webapps\Test" path="/Test" reloadable="true" source="org.eclipse.jst.jee.server:Test"/> 

path指的是訪問路徑:http://localhost:8080/Test 

docBase是tomcat路徑