2011-05-05 72 views
2

自從現在幾個月以來,我使用grails,我認爲這絕對是web dev應該在java端的方式。但是有兩件事我關心未來的項目,我想知道你對它的想法以及如何避免這種情況。使用Grails幾個月後的問題

首先,插件是偉大的,但有一件事我不喜歡或理解的是如何正確處理依賴關係。我的意思是,我可以用一堆插件結束我的項目,其中2或3個使用不同版本的相同罐子,找出造成問題的女巫是件痛苦的事情。有沒有簡單的方法來避免這類問題?

其次,groovy很不錯,但我認爲很容易使語法不匹配。你可以用「;」最後用Groovy寫一些java混合。有沒有一些工具來執行groovy語法,因爲仍然沒有那麼多人在外部使用groovy與java dev相比?

謝謝!

+0

你應該讓你的標題對於搜索同樣問題的人更主觀。 – 2012-08-20 15:08:04

回答

3

我可以在我的項目中結束一堆插件,其中2或3個使用與不同版本相同的jar,找出女巫導致問題很痛苦。有沒有簡單的方法來避免這類問題?

一個相當新的版本的Grails引入了一個dependency resolution DSL應該爲你解決這些類型的問題。如果您當前正在將JAR複製到lib文件夾並在application.properties中指定插件依賴關係,那麼您將繞過Grails的依賴關係解析(基於Ivy)。要使用Grails的依賴關係解決方案,您應該在BuildConfig.groovy中指定您的依賴關係,並刪除lib文件夾中的任何JAR。

3

第二個。 Groovy主要是一個Java超集,所以只需刪除;就不會使程序變得更加「簡約」。有時候需要努力將Java代碼減少到小3倍的Groovy代碼。

我的意思是說明這很少是自動分析的問題。儘管如此,IntelliJ IDEA在尋找不必要的代碼方面做得非常不錯。 CodeNarc也看起來不錯。

嗯,大概我是複製https://stackoverflow.com/questions/1525652/groovy-code-analysis-tool

1

對於第一,我發現在Grails中使用插件的最佳方式是不使用它們。或者說,使用那些維護良好的(即:Shiro,MailService)或由大組(Apache)或Grails提交者創建的。

對於其他插件,我們用來下載插件,打開它,查看源代碼,然後引入我們需要的東西。大多數插件做了很多額外的事情,因爲它們需要支持可配置性,所以不必要。你可以把你需要的部分加入,並簡單地添加它們。這樣做的好處是你最終也會學習Grails的內部。

對於第二,維克多的權利。 Groovy大部分是Java的超集。編寫Groovy-ish代碼涉及諸如使用閉包,理解動態類型的好處以及通過其特殊構造函數填充對象等內容。這僅僅是一個初步的級別,Groovy做的更多,你會隨着時間學習。

我不會太擔心試圖強制執行Groovy語法。只要寫下你所知道的,並學習Groovy的做事方式。該文件的擴展名應該向開發人員指出它不是直接的Java代碼。如果你使用閉包,那也會很快識別它。