2014-03-13 31 views
1

在Grails 2.2.1下運行並剛剛升級到2.3.6(使用GGTS 3.4作爲我們的IDE)的項目有一個非常奇怪的問題'運行應用程序」。Grails項目從2.2.1升級到2.3.6;運行應用程序失敗與Tomcat,將不會與Jetty調試

如果我使用tomcat插件,它使用tomcat進行開發運行,grails run-app命令似乎啓動tomcat,但無法啓動應用程序。任何發送到localhost:8080的請求都會返回一個404.

如果我使用Jetty插件(使用jetty進行開發運行),則grails run-app命令正常啓動,但不會連接到IDE中的調試端口(yes ,我打開了--debug-fork)。

在2.3.6中製作的quickie示例grails應用程序可以正常運行,並且可以正常運行,所以它似乎與版本遷移或舊的配置有關。

有沒有人看到過這樣的問題,並且可以提供我在遷移過程中可能沒有適當修復的建議嗎?謝謝。

+1

你可以分享你的BuildConfig嗎?我不記得你是否升級了fork的代碼塊被複制... –

+0

謝謝,塞爾吉奧。看看這個鏈接[http://pastebin.com/v9Gm6BGR](http://pastebin.com/v9Gm6BGR)來查看我正在使用的當前BuildConfig。 – Eli

+0

嘗試將塊註釋掉:** grails.project.fork ** –

回答

0

我找到了答案。在這裏分享它爲別人的利益誰可能擊中了同樣的問題:發現

Caused by: java.lang.ClassNotFoundException: org.apache.catalina.deploy.FilterDef 

搜索該錯誤消息:

當我成功地禁用分叉執行,我看到了一個ClassNotFound的例外是被Tomcat拋出我這個鏈接:Upgrade to tomcat:7.0.47 fails with web.xml issue

短的版本:如果您在您的項目稱爲「web應用程序/ META-INF/context.xml的」具有以下內容的文件,應該將其刪除:

<?xml version="1.0" encoding="UTF-8"?> 
<Context> 
    <Loader delegate="true"/> 
</Context> 

這樣做和事情應該恢復正常。

0

如果從Grails的2.3.x版本之前的版本升級並使用Hibernate和/或Tomcat插件,您將需要在BuildConfig更新版本:

build ':tomcat:7.0.50.1' 
runtime ':hibernate:3.6.10.8' 

檢查文件:http://grails.org/2.3.6+Release+Notes

+0

謝謝。 tomcat插件已更新(請參閱上面的pastebin鏈接),我的項目不使用hibernate(僅適用於MongoDB-GORM) – Eli

相關問題