2015-06-17 126 views
0

我試圖幫助客戶使用Grails 1.3.1構建的這個舊的(2010)應用程序。它是更大系統的一部分。我們有源代碼和一些正在運行的實例(包括一個測試平臺),但最初的開發人員已經離開了。客戶需要對應用程序進行非常小的更改。它只是一個Groovy文件。我設法在Eclipse(Luna)中打開項目並安裝了GGTS。它看起來不錯,Eclipse將類文件輸出到target-eclipse目錄。使用非常古老的groovy編譯器編譯groovy文件

該計劃是直接在運行應用程序的測試機器上替換受影響的類文件。問題是:它不起作用。它在Tomcat6上運行,但我在日誌中找不到任何相關內容(這也很奇怪) - 如果我替換這個類文件,應用程序就不會啓動。我最好的猜測是,這是因爲我的機器上的Groovy編譯器(由GGTS使用)比測試平臺上的更新。 Grails 1.3.1包含了groovy-all-1.7.2.jar,我認爲它與編譯器版本相同,我無法再將其作爲可下載工具,或者作爲Ec​​lipse插件(它只支持版本2.X及以後)。

有什麼建議嗎?我可以以某種方式使用jar中舊版本的groovy編譯文件嗎?快速和骯髒的修復是受歡迎的。他們希望避免升級正在運行的系統,因爲這可能需要很多工作。

我以前從未使用過Groovy或Grails,但我是一位經驗豐富的Java開發人員。

+1

你能安裝在你的機器的Grails的指定版本,然後再建WAR文件/從命令行運行它? –

+0

我只將Grails(和Groovy)安裝爲GGTS 3.6.4 Eclipse插件,根據Eclipse市場中的信息窗口支持Groovy 1.7/1.8/2.x和Grails 1.3/2.x,但是我不能在Eclipse中選擇比Groovy 2.0更低的任何東西,並且在Eclipse中找不到Grails的任何設置。 WAR是我的另一個問題 - Eclipse自動生成一些類文件,但沒有WAR。看起來,Ant任務清理,編譯,構建等都失敗了,因爲某些「[grailsTask] java.util.zip.ZipException:打開zip文件時出錯」。 –

+0

Tim說:不要使用ggts,從命令行構建。 –

回答

1

雖然使用Groovy 1.7.2編譯的類可以在當前的Groovy中運行得很好,但其他方法無法保證。我建議不要使用GGTS,特別是不要用於這樣的早期版本。

Groovy目前在舊發行版的下載位置存在問題,但我們正在研究這個問題。您當然可以從maven central獲取maven jar,並從github repository獲取命令行腳本,甚至可以使用它來嘗試使用ant dist自己構建分發版本,或者僅爲ant install以進行本地安裝。

最後當然還有使用jar從Grails的的選項拉鍊本身,defectus了註釋中的鏈接,這已經