1. 程式人生 > >Tomcat部署Grails war包時所遇到的鬱悶問題

Tomcat部署Grails war包時所遇到的鬱悶問題

用Grails技術目前已經開發了三個小規模的網站。第一個網站是接手公司同事;第二個專案是幫老闆朋友更改的網站,最後因故沒經採用;最後一個專案臨近釋出,卻由於沒有經歷過自己部署專案到應用伺服器上,所以直接導致了今天一下午的鬱悶。。。(也可以說自己太菜吧)

Grails打war包,用的命令是Grails prod war ROOT.war,這裡,"prod"引數用來指定打包的時候使用DateSource.groovy裡不同的資料來源。資料來源環境的配置在DateSource.groovy中設定,包括"prodcution","development"和"test"三種。

打好包後,便部署到Tomcat5.5.9 webapps目錄下。更改訪問埠為80,啟動Tomcat,訪問時出現404錯誤,The requested resource (/) is not available.

由此開始了一下午排錯之旅。。。

首先考慮是不是部署的不對?於是Google搜尋關於Tomcat部署Grails war的資料(第一步就錯了,一步錯步步錯,哎~),查閱了大量的資料都是打好war包直接部署後就可以訪問~鬱悶。。。

難道是Grails plugin的問題?

帶著疑問,簡單建立了一個Grails world,再次打包部署後,驚喜的發覺訪問成功!高興。。。

難道真的是Grails plugin的問題?

專案裡運用了兩個plugin,hibernate以及fckeditor。逐一進行新增測試後,發覺還是能訪問~又開始鬱悶。。。

再次將專案war包部署過去,細看logs時,發覺有兩處嚴重的問題(此時時間已過大半下午。。。)。

Error listenerStart

Context [] startup failed due to previous errors

又查閱了部分資料

終於將目標鎖定在資料來源上

我的打包命令採用的prod,那麼我DataSource裡prodcution配置的資料來源是不是對呢?

開啟DataSource.groovy,看到結果的那一瞬間,心裡不禁長舒一口氣。

更改後再次部署,啟動Tomcat。。。

我知道這次肯定能成功,是的。那下次呢?

再遇到不同的問題時,會不會還是那麼的菜,不去看問題的本質,卻胡亂猜測?

。。。 。。。