tomcat默認的而發佈路徑爲 tomcat/webapps/,但是如果這個目錄下有一些默認的項目,在tomcat啓動的時候會跟着一起加載。如果不想刪除這些項目,可以把tomcat發佈的路徑修改到其他地方。
那麼怎麼修改呢? 找到conf/server.xml 在裏面找到<Host>標籤
<Server>
<Service>
<Engine name="Catalina" defaultHost="localhost">
## Engine組件在Service組件中有且只有一個;Engine是Service組件中的請求處理組件。
## Engine組件從一個或多個Connector中接收請求並處理,並將完成的響應返回給Connector,最終傳遞給客戶端。
<Host name="localhost">
## Host是Engine的子容器。Engine組件中可以內嵌1個或多個Host組件,每個Host組件代表Engine中的一個虛擬主機。
## Host組件至少有一個,且其中一個的name必須與Engine組件的defaultHost屬性相匹配。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
## appBase="webapps" appBase屬性指定Web應用所在的目錄,默認值是webapps 這是一個相對路徑,代表Tomcat根目錄下webapps文件夾 , 這裏可以用相對路徑,也可以用絕對路徑
## unpackWARs="true" unpackWARs 爲是否自動解壓war文件,如果設置爲true,表示把war文件先展開再運行。 如果爲false則直接運行war文件
## autoDeploy="true" autoDeploy,默認爲true,表示如果有新的WEB應用放入appBase並且Tomcat在運行的情況下,自動載入應用
<Valve>
## Valve放在Host下,便可以記錄該Host處理的所有請求
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
## className:規定了Valve的類型,是最重要的屬性, AccessLogValve對象的作用是通過日誌記錄其所在的容器中處理的所有請求
## directory:指定日誌存儲的位置,本例中,日誌存儲在$TOMCAT_HOME/logs目錄下
## prefix:指定了日誌文件的前綴。 suffix:指定了日誌文件的後綴
## pattern:指定記錄日誌的格式
</Host>
講了這麼多還是沒有講到重點,我們怎麼修改自己的項目路徑,有兩種方法
1、直接修改<Host>的屬性 appBase="E:\\jetty" 簡單粗暴
2、如果這麼簡單粗暴的修改,可以在<Host>下面加上這句即可
<Context path="" docBase="E:\\jetty" reloadable="true"/> 不破壞原有結構,可以兩個並存
## path代表用瀏覽器訪問的時候的的路徑,如http://localhost:8080/web來訪問path=”/web” 如果不寫就是根路徑,你 webapps/ROOT裏面就無法訪問
## docBase爲你的項目的路徑,這裏同樣既可以用相對路徑,也可以用絕對路徑。設置好了之後就會把項目自動映射到ROOT
## reload able,如果這個屬性設爲true,tomcat服務器在運行狀態下會監視在WEB-INF/classes和WEB-INF/lib目錄下class文件的改動,如果監測到有class文件被更新的,服務器會自動重新加載Web應用