eclipse中web項目部署之後jsp的java文件找不到問題(Tomcat配置serverlocations)

個人開發環境:eclipse kepler (4.3)+tomcat7.0.42.html

在我想看eclipse中web項目jsp文件被tomcat轉換成java之後的java源文件的位置。發現正常狀況下的webapps如下。沒有看到我部署的項目java

同一時候,work文件夾(jsp的工做文件夾)如下也沒有生成相關的jsp的class文件和java源文件。但是我想看源代碼啊。找了一堆關於jsp的源代碼位置的文章,都說是在work如下可以找到。web

後來在不斷的嘗試下。我搜索了keyword server locations的配置是什麼意思。找了如下的資料,加上了本身的一些補充和驗證。攻克了上述問題。apache

首先看一下。資料內容。瀏覽器

 配置eclipse的開發環境,配置jdk的安裝路徑和tomcat安裝路徑。在eclipse下創建Dynamic Web Projectprojectzhgy。在使用eclipse中new一個tomcat,經過啓動該tomcat來公佈Dynamic Web Project的時候,事實上並未將project公佈到tomcat 安裝文件夾所在的 webapps下。tomcat

這點可以去上述的tomcat 安裝文件夾 的webapps文件夾下查看。服務器

從啓動時候的控制檯輸出來看項目是被公佈到了例如如下的文件夾:app

信息: Set web app root system property: 'webapp.root' = [ D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\zhgy\ ]eclipse

打開該文件夾可以很是清楚的看到存在zhgy這樣一個文件夾,這就是咱們現在可以訪問的項目文件夾。webapp

    

        再打開 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\   這個文件夾,可以看到這個文件夾下的結構和 D:\Tomcat 7.0 的文件夾結構是如出一轍的,僅僅是多了個wtpwebapps文件夾。事實上 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\  這個文件夾就是eclipse的對 D:\Tomcat 7.0 文件夾的一個克隆,從而使 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\也可以具有源服務器的功能。

 

      假設再new幾個服務器。就會在 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\ 文件夾下依次出現temp0、temp一、temp2等多個克隆服務器。但是這裏每次僅僅能啓動上面一個克隆服務器,因爲他們都使用的是一樣的啓動port(固然還有一樣的關閉port等)。

 

      這樣會給咱們帶來很是多的不方便。

舉個樣例:就上述project而言,當咱們在進行開發的時候。項目需要將上傳的圖片放入到project的同級文件夾的upload文件夾的時候,會發現圖片是上傳到了所在的文件夾 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\upload\ 。但是沒法在瀏覽器中訪問到上傳的圖片。這時候咱們可以手動將該upload文件夾整個拷貝到 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps\ ,這時在瀏覽器中的確就可以訪問了。形成這樣的現象的緣由是tomcat服務器默認webapps爲project文件夾,而不是 wtpwebapps 文件夾。之所可以經過瀏覽器訪問 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\zhgy\ 下的zhgy這個項目。是因爲eclipse經過tomcat公佈項目的時候在 D:\workSpace-jx\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\conf 文件夾的server.xml文件裏有例如如下的設置:

實際上,如下的配置是tomcat管理其餘文件夾下的web項目的配置方式.在個人博文中tomcat虛擬路徑的配置中有介紹.
<Context docBase="D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapps\zhgy" path="/zhgy" reloadable="true" source="org.eclipse.jst.jee.server:zhgy"/>  
(以上部分來源於百度空間)
##########################################################################
經過上面的驗證,就應該明確了,爲什麼myeclipse如下部署的項目的jsp文件的java文件會在E:\DevelopSoftware\apache-tomcat-7.0.42\work\Catalina\localhost文件夾下找到了.
因爲默認狀況下,在eclipse中部署了外部的tomcat時,默認的serverlocations是這樣設置的:
打開此視圖的的方式是:雙擊server就ok了,不會的多試一下的啦.不作具體介紹.
普通狀況下,上面的面板打開之後,server locations是灰色的.
作例如如下操做:首先移除所有已經部署的項目,而後右擊servlet->clean一下,就ok了.
那麼上面可以看到server locations配置的三個選項.
1.使用workspace,不改動tomcat,而且發現部署的文件夾也不是webapps.
這樣的情形下,要想找到jsp被tomcat轉換成的java文件,就需要到上文中提到的文件夾如下去找了.具體路徑例如如下:
D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps\ work\jsp
(找個文件夾找起來固然不太方便,因爲plugins如下類似的文件夾很是多的啦)
2.使用tomcat的安裝文件夾.
選擇第二選項後,server path也會本身主動改動,而後手動改動部署路徑就ok了.
也就是將deploy path改爲webapps
3.第三種使用定製的文件夾,實際上就是自定義tomcat server 的location嗎。通常不使用。
瞭解了上述三種location配置,那麼咱們要將web項目手動配置到tomcat的安裝文件夾下,就很是easy了。
同一時候作了這樣的配置之後,之後要想看jsp的源代碼,也就直接在tomcat的安裝文件夾下的work文件夾中就可以找了。

因而,部署過的項目就可以找到jsp的源代碼了.
E:\DevelopSoftware\apache-tomcat-7.0.42\work\Catalina\localhost\myDay11login\org\apache\jsp
tomcat配置虛擬路徑管理其餘文件夾下的web項目
相關文章
相關標籤/搜索