2013-02-14 35 views
0

我使用GGTS 3.1,Grails的2.1.1和Groovy 1.8.6Grails的插件項目 - 無法找到常規罐子當我下線

我創建了一個新的工作區,並創建一個新的Grails插件項目。 一直都很好,直到昨天我旅行時,我做了一次刷新依賴。它失敗了,因爲groovy.jar無法在本地找到。我花了很長時間試圖弄清楚發生了什麼,但我做不到。我的任何應用程序項目都沒有問題,只是我的(第一個)插件項目。下面是從日誌中提取:

Host repo1.maven.org not found. url=http://repo1.maven.org/maven2/org/codehaus/groovy/groovy/%5B1.5,1.7%5D/groovy-%5B1.5,1.7%5D.jar 
    module not found: org.codehaus.groovy#groovy;[1.5,1.7] 
==== grailsPlugins: tried 
    -- artifact org.codehaus.groovy#groovy;[1.5,1.7]!groovy.jar: 
    E:\workspaces\GGTS_310\SchemaMigrationPlugin\SchemaMigration/lib/groovy-[revision].jar 
    [all-1.8.8]  C:\Users\JohnO\.grails\2.1.1\projects\SchemaMigration\plugins\database-migration-1.3.2/lib/groovy-[revision].jar 
    C:\Users\JohnO\.grails\2.1.1\projects\SchemaMigration\plugins\release-2.0.3/lib/groovy-[revision].jar C:\Users\JohnO\.grails\2.1.1\projects\SchemaMigration\plugins\rest-client-builder-1.0.2/lib/groovy-[revision].jar 
    C:\Users\JohnO\.grails\2.1.1\projects\SchemaMigration\plugins\tomcat-2.1.1/lib/groovy-[revision].jar 
==== grailsHome: tried 
    C:\Apps\GGTS310\grails-2.1.1/lib/org.codehaus.groovy/groovy/ivy-[revision].xml 
    -- artifact org.codehaus.groovy#groovy;[1.5,1.7]!groovy.jar: 
    C:\Apps\GGTS310\grails-2.1.1/lib/org.codehaus.groovy/groovy/jars/groovy-[revision].jar 
    C:\Apps\GGTS310\grails-2.1.1/lib/org.codehaus.groovy/groovy/bundles/groovy-[revision].jar 
==== grailsHome: tried 
    C:\Apps\GGTS310\grails-2.1.1\src\libs/groovy-[revision].xml 
    -- artifact org.codehaus.groovy#groovy;[1.5,1.7]!groovy.jar: 
    C:\Apps\GGTS310\grails-2.1.1\src\libs/groovy-[revision].jar 
==== grailsHome: tried 
    C:\Apps\GGTS310\grails-2.1.1\dist/groovy-[revision].xml 
    -- artifact org.codehaus.groovy#groovy;[1.5,1.7]!groovy.jar: 
    C:\Apps\GGTS310\grails-2.1.1\dist/groovy-[revision].jar 
==== grailsHome: tried 
    C:\Users\JohnO\.grails\2.1.1\cached-installed-plugins/groovy-[revision].xml 
    -- artifact org.codehaus.groovy#groovy;[1.5,1.7]!groovy.jar: 
    C:\Users\JohnO\.grails\2.1.1\cached-installed-plugins/groovy-[revision].jar 
==== grailsHome: tried 
    -- artifact org.codehaus.groovy#groovy;[1.5,1.7]!groovy.jar: 
    C:\Apps\GGTS310\grails-2.1.1/plugins/groovy-[revision].jar 
==== grailsCentral: tried 
..... 
..... 
==== localMavenResolver: tried 
    C:\Users\JohnO/.m2/repository/org/codehaus/groovy/groovy/[revision]/groovy-[revision].pom 
    -- artifact org.codehaus.groovy#groovy;[1.5,1.7]!groovy.jar: 
    C:\Users\JohnO/.m2/repository/org/codehaus/groovy/groovy/[revision]/groovy-[revision].jar 
    :::::::::::::::::::::::::::::::::::::::::::::: 
    ::   UNRESOLVED DEPENDENCIES   :: 
    ::::::::::::::::::::::::::::::::::::::::::::::  
    :: org.codehaus.groovy#groovy;[1.5,1.7]: not found 
    :::::::::::::::::::::::::::::::::::::::::::::: 

我不熟悉的語法:「org.codehaus.groovy#常規; [1.5,1.7] groovy.jar:」,但我最好的猜測是它正在尋找一個介於1.5到1.7之間的版本。如果是這樣,爲什麼?我該如何治療?

爲Groovy編譯的GGTS偏好設置爲1.8.6.xx-20 ....

有安裝在Groovy罐子:

C:\ APPS \ GGTS310 \的grails-2.1。 1 \ lib \ org.codehaus.groovy \ groovy-all \ jars \ groovy-all-1.8.8.jar

%GRAILS_ROOT%\ ivy-cache \ org.codehaus.groovy \ groovy-all \ jars holds groovy -all-1.8.6.jar and groovy-all.1.8.8.jar

%GRAILS_ROOT%\ ivy-cache \ org.codehaus.groovy \ groovy \ jars \ groovy-1.7-rc-2.jar

正如我所說的,我沒有從我的Grails項目的任何本地資源刷新問題,只是插件項目。

約翰

回答

0

你的插件depends,可能傳遞性,在org.codehaus.groovy:常規與version range [1.5,1.7]。
請注意,這與org.codehaus.groovy不同:groovy-all。
您提到的任何選項都不能解決此依賴關係。
您可以通過運行Grails dependency-report command

+0

drorb來跟蹤此依賴關係的來源,非常感謝。依賴報告很好,但我很難解釋一些事情。標題是_SchemaMigration 2.1.1 by org.grails.internal_ - 這是我的插件的名稱,但爲什麼2.1.1和'grails internal'?有一個_groovy.modules.http-builder_需要_groovy 1.7-rc-2_,要求修訂_1.5到1.7_。這隻適用於** build **,其餘的全部使用_groovy-all_。我能做些什麼呢?我會認爲這是一個依賴項會在我的本地常春藤緩存在Grails中。 John – 2013-02-15 12:03:31

+0

查看application.properties文件中的app.version,這應該是您的插件版本。你可以在groovy中排除http-builder的依賴關係。看[排除特定的傳遞依賴性](http://grails.org/doc/2.2.x/guide/conf.html#configurationsAndDependencies) – 2013-02-17 08:05:14