tl; dr;添加依賴關係build.gradle下載它很好,但不會將它添加到想法中的類路徑/外部庫。Gradlew不向IDEA中的我的外部庫(類路徑)添加依賴項16.2
嗨
進出口新的發展在Java試圖依賴於mvnrepository.com幾個罐子的webapps和IM,依賴下載到外部庫,並加入到classpath中唯一的一次是當我將項目作爲gradle項目導入,如每次我有一個項目啓動並運行時,我添加一個新的依賴項,我將不得不將整個項目導入到intellij中。
我的build.gradle文件看起來像這樣:
group 'project_name'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'idea'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
// https://mvnrepository.com/artifact/com.google.inject/guice
compile group: 'com.google.inject', name: 'guice', version: '3.0'
// https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-core
compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: '9.0.0.M9'
// https://mvnrepository.com/artifact/com.sun.jersey/jersey-core
compile group: 'com.sun.jersey', name: 'jersey-core', version: '1.19.1'
// https://mvnrepository.com/artifact/com.sun.jersey/jersey-json
compile group: 'com.sun.jersey', name: 'jersey-json', version: '1.19.1'
// https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-client
compile group: 'org.glassfish.jersey.core', name: 'jersey-client', version: '2.23.2'
// https://mvnrepository.com/artifact/com.sun.jersey/jersey-servlet
compile group: 'com.sun.jersey', name: 'jersey-servlet', version: '1.19.1'
// https://mvnrepository.com/artifact/com.sun.jersey/jersey-server
compile group: 'com.sun.jersey', name: 'jersey-server', version: '1.19.1'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
task wrapper(type: Wrapper) {
gradleVersion = '2.5'
}
當我添加一個新的依賴到列表中,並運行./gradlew構建,有或沒有它下載--refresh依賴性選項新的依賴關係,但它不會將下載的文件添加到外部庫/類路徑,所以我不能將它們導入到Java代碼中。我看到與此類似,在那裏他們接受的答案就像跑了一個問題:
./gradlew idea
在我的情況下,這並不能幫助所有,它只是增加了在沒有明顯的差異,以行爲目錄自動生成的一些文件。
然後他們接受導入項目作爲一個gradle項目,我也這樣做 - 哪些工作,但添加新的依賴項不起作用。
僅供參考我正在使用gradle 2.5包裝和IDEA社區16.2
在運行'./gradlew idea'想法應該告訴你要重新加載項目 – tddmonkey
Im不去,因爲它產生煩人的文件來運行'./gradlew idea' ...顯然,當我可以通過界面運行它們時,它們沒有什麼不同。感謝您的建議,也許它工作:) – DenLilleMand
什麼惱人的文件?它應該只生成IDEA所需的文件來打開項目 – tddmonkey