今天把一個(gè)jsp網(wǎng)站從win服務(wù)器移植到linux服務(wù)器,發(fā)現(xiàn)只有首頁能打開,欄目頁都報(bào)錯(cuò):*** cannot be resolved to a type,這里的欄目頁指的是網(wǎng)站根目錄的子文件夾,比如網(wǎng)站根目錄是wwwroot,下面的子文件夾products、news這種都是它的欄目頁。?
初步判斷應(yīng)該是欄目頁沒有找到class路徑,但是為什么首頁能夠正常打開呢,我的jar包都放在網(wǎng)站根目錄的web-inf/lib下面,按道理首頁能打開,欄目頁也能打開才對(duì),折騰了好久才發(fā)現(xiàn),是tomcat的server.xml的配置問題,host節(jié)點(diǎn)的appBase如果指向網(wǎng)站根目錄的話,網(wǎng)站的子文件夾都會(huì)被部署為一個(gè)個(gè)獨(dú)立的項(xiàng)目,例如products文件夾,會(huì)在products/web-inf里面找jar包,而不是wwwroot/web-inf下面,這樣自然就報(bào)錯(cuò)了。
所以解決辦法是:host節(jié)點(diǎn)的appBase要置空,context節(jié)點(diǎn)的docBase指向網(wǎng)站根目錄就行了。如下圖所示:
