2012-07-19 153 views
2

我一直在試圖弄清楚這個問題已經花費了數小時。每當我嘗試執行任何動作來我的新創建Grails項目(用新鮮的Grails的安裝),我收到此錯誤信息:加載BuildConfig時出現錯誤(Grails 2.1.0)

Error There was an error loading the BuildConfig: ivy pattern must be absolute: 
${HOME}/.m2/alpha/repository/[organisation]/[module]/[revision]/[module]-[revision](- 
[classifier]).pom (Use --stacktrace to see the full trace) 

我可以推斷,有一個與我的安裝有問題,但其新安裝,因爲我說,所以我不知道可能已經導致這個問題。

我正在運行Win7。任何幫助將非常感激。

編輯:

grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0) 
grails.project.class.dir = "target/classes" 
grails.project.test.class.dir = "target/test-classes" 
grails.project.test.reports.dir = "target/test-reports" 
grails.project.target.level = 1.6 
grails.project.source.level = 1.6 
//grails.project.war.file = "target/${appName}-${appVersion}.war" 

grails.project.dependency.resolution = { 
    // inherit Grails' default dependencies 
    inherits("global") { 
     // specify dependency exclusions here; for example, uncomment this to disable ehcache: 
     // excludes 'ehcache' 
    } 
    log "error" // log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose' 
    checksums true // Whether to verify checksums on resolve 

    repositories { 
     inherits true // Whether to inherit repository definitions from plugins 

     grailsPlugins() 
     grailsHome() 
     grailsCentral() 

     mavenLocal() 
     mavenCentral() 

     // uncomment these (or add new ones) to enable remote dependency resolution from public Maven repositories 
     //mavenRepo "http://snapshots.repository.codehaus.org" 
     //mavenRepo "http://repository.codehaus.org" 
     //mavenRepo "http://download.java.net/maven/2/" 
     //mavenRepo "http://repository.jboss.com/maven2/" 
    } 
    dependencies { 
     // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg. 

     // runtime 'mysql:mysql-connector-java:5.1.20' 
    } 

    plugins { 
     runtime ":hibernate:$grailsVersion" 
     runtime ":jquery:1.7.1" 
     runtime ":resources:1.1.6" 

     // Uncomment these (or add new ones) to enable additional resources capabilities 
     //runtime ":zipped-resources:1.0" 
     //runtime ":cached-resources:1.0" 
     //runtime ":yui-minify-resources:0.1.4" 

     build ":tomcat:$grailsVersion" 

     runtime ":database-migration:1.1" 

     compile ':cache:1.0.0.RC1' 
    } 
} 
+0

看到你的BuildConfig會很有幫助。 – Gregg 2012-07-19 19:05:49

+0

@Gregg我已經用我的BuildConfig.groovy更新了這篇文章 – 2012-07-19 19:29:14

回答

3

問題解決了現在。

這是一個Maven問題,我最初並沒有考慮。出於某種原因,/Users/USERNAME/.mp2/settings.xml中的localRepository標記無法解析到HOME的路徑,因此使用C:/ Users/USERNAME替換$ {HOME}也有訣竅。奇怪,但它現在工作。如果有人有更好的解決方案,讓我知道!

+0

嗨,本,我認爲你的結論是錯誤的。這仍然是常春藤問題,因爲你不運行Apache Maven構建。普通的Maven將能夠解析參數化的$ {user.home},而Grails實際上正在使用Ivy,試圖解決但失敗。 – 2013-02-17 10:08:25

0

我也遇到了同樣的問題。 我認爲這不是Maven問題,它是Apache Ivy的問題。

我認爲Apache Maven 2/3運行良好,只是Apache常春藤沒有選擇正確的Maven文件夾。 Apache Ivy沒有像應該那樣擴展$ {user.home}。

0

我通過將我的M2_REPO環境變量設置爲絕對路徑來解決此問題。在Linux上:

export M2_HOME=/home/chris/.m2/repository/ 

上,您可以在系統屬性對話框中設置環境變量窗口(快捷鍵系統屬性是WindowsKey的 + PauseKey)。轉至系統屬性 - >高級 - >環境變量

1

我的解決辦法是有一點不同:

(1)創建一個指向您的存儲庫的.m2位置的變量:

def localMavenRepo = "file://" + new File(System.getProperty('user.home'), '.m2/repository').absolutePath 

(2)創建一個存儲庫條目:

repositories { 
    ... 
    mavenRepo name: 'Local', root: localMavenRepo 
} 
+0

它的工作就是這樣。我評論了這些行:mavenLocal(); mavenCentral()並添加了本地mavenRepo聲明。或者(對於快速測試),有人可以註釋掉mavenLocal(),並遠程更新(不建議保持這樣)。 – atas 2014-08-11 21:10:50

相關問題