2012-04-21 260 views
15

我是grails newby。我在Windows 7上從命令行(無IDE)使用grails 2.0.3。如何向grails項目添加「非mavenized」jar依賴項

我只是在grails文檔中運行'hello world'示例。

我有一個自定義的jar,不在maven中,我想在我的項目中使用它。我將它添加到lib文件夾並執行刷新依賴。我修改了控制器從jar中導入一個類。當我做'run-app'時,編譯器抱怨說找不到這個類。

我在網上看到幾個例子,人們必須像這樣在BuildConfig.groovy中添加一行:runtime'httpclient:httpclient:3.0.1'。但是因爲我沒有使用maven或常春藤,我怎麼才能在我的類路徑上獲得這個jar?

我指的是上面的例子是http://grails.1312388.n4.nabble.com/External-Jar-in-Grails-td4388010.html

回答

25

Grails的2.0-2.2

好吧,我終於想通了什麼,我需要做的。假設我的jar被命名爲'mylib.jar'。我需要將其重命名爲mylib-1.0.jar並將其移動到lib目錄。然後我需要將以下內容添加到BuildConfig.groovy中:

dependencies { 
     // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg. 

     // runtime 'mysql:mysql-connector-java:5.1.16' 
    runtime 'mylib:mylib:1.0' 
    } 

我想這對除我以外的所有人都是顯而易見的。希望這可以幫助別人。

Grails的2.3 -...

只要把水罐裏的lib/。不要修改BuildConfig.groovy(c)kaskelotti

+0

在這裏有同樣的問題,即使有你的幫助,我似乎無法得到這個[ez-vcar](http://code.google.com/p/ez-vcard/)的工作。 添加ez-vard JAR到** lib文件夾**,嘗試依賴刷新,添加到BuildConfig'compile「ez-vcard:0.7.3」'...仍然不起作用,留下以下內容 '錯誤警告:指定的依賴性定義運行時(ez-vcard:0.7.3)無效!跳過......' 任何你能想到的凱爾都將不勝感激,非常愚蠢的問題,驅使我瘋狂 – RST 2013-04-07 21:20:26

+0

只是一個瘋狂的猜測,但也許在名稱上的破折號導致一個問題。嘗試重新命名沒有破折號的罐子。 – Kyle 2013-04-08 01:22:04

+0

感謝無論如何,沒有工作......認爲有一個更深的問題,現在要做一個帖子 – RST 2013-04-08 11:18:45

0

如果你的jar文件在lib文件夾中,並且還在buildconfig.groovy中輸入,並且你的構建路徑中找不到jar,那麼嘗試使用下面的命令。

grails compile --refresh-dependencies 
相關問題