2016-06-21 81 views
2

我創建一個簡單的項目的gradle:gradle這個理念與自動​​導入:項目解析錯誤

的build.gradle:

plugins { 
    id 'idea' 
    id 'java' 
} 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile "org.apache.thrift:libthrift:0.9.3" 
} 

task taskTest { 
    println "Hello world" 
} 

我運行命令gradle idea,是在理念IDE中打開項目。想法提供給我一個導入Gradle項目,我允許她與「使用自動導入選項」。 在「消息Gradle同步」窗口中,我看到下一個警告:

警告:root project'test':無法解析其他項目配置。 詳情:groovy.lang.MissingPropertyException:沒有這樣的屬性:ID類:org.gradle.api.internal.artifacts.DefaultResolvedArtifact 可能的解決方案:文件

警告:根項目 '測試':無法解決額外的項目配置。 詳情:groovy.lang.MissingPropertyException:沒有這樣的屬性:ID類:org.gradle.api.internal.artifacts.DefaultResolvedArtifact 可能的解決方案:文件

我做錯了什麼?

回答

4

不太確定,但看起來,您的Gradle版本尚不支持插件DSL。你可以儘量避免使用它,只是刪除此:

plugins { 
    id 'idea' 
    id 'java' 
} 

,並應用此插件是這樣的:

apply plugin: 'java' 
apply plugin: 'idea' 

或者你可以嘗試更新您搖籃版本。

+0

嗯,是的,它解決了問題。但是,爲什麼這個解決方案有效?我使用2.5版本的gradle(也是gradlew 2.5版本),在這個版本中必須支持新的插件DSL。怎麼了? – jonua

+0

你能不能chech,可能是你默認的IDE使用另一個gradle版本? – Stanislav

+0

IDE使用gradle_home中的gradle,它具有2.5版本。但是,我注意到,如果我設置了插件的「版本」,警告將消失。是'版本'強制屬性?我怎麼才能找到* java *插件的版本?在[他](https://docs.gradle.org/current/userguide/java_plugin.html)頁面中缺少此信息 – jonua