2012-06-27 23 views
1

此警告開始出現在的IntelliJ:
'mavenLocal' 在 'org.codehaus.groovy.grails.resolve.config.RepositoriesConfigurer' 不能適用於 '()'的IntelliJ mavenLocal Grails的警告BuildConfig

這裏的來自BuildConfig.groovy的相關片段。

repositories { 
    inherits true // Whether to inherit repository definitions from plugins 
    grailsPlugins() 
    grailsHome() 
    grailsCentral() 
    mavenLocal() 
    mavenRepo "https://mycompany.artifactoryonline.com/mycompany/repo" 
    mavenCentral() 
} 

環境:
OSX 10.6.8
的Grails 2.0.3
的IntelliJ 11.1.2

+0

不mavenLocal(擺脫警告)需要某種形式的路徑?它還知道如何找到本地的maven? – Gregg

回答

1

在RepositoriesConfigurer的mavenLocal方法被定義如下:

void mavenLocal(String repoPath) { 
    ... 
} 

所以是的,mavenLocal需要一個路徑,但很滿意獲得null,這意味着使用默認的存儲庫路徑(.m2/repository在用戶主目錄下)。

據我所知,在這種情況下,mavenLocal()解析爲調用mavenLocal(null)。

mavenLocal也許應該改爲

void mavenLocal(String repoPath = null) { 
    ... 
} 

,使之更加明顯,repoPath是可選的,在的IntelliJ

+0

我將代碼更改爲 - mavenLocal(null) - 並且錯誤消失。謝謝! – ptsw

+0

我剛剛收到了一個解決此問題的請求。從Grails 2.2開始,mavenLocal()將不再在IntelliJ中引發警告。 https://github.com/grails/grails-core/pull/241 – rlovtang