TL;博士;添加依赖项到build.gradle下载很好,但不会将它添加到类路径/外部库中。
大家好
我刚接触开发java中的webapps,并且我试图依赖mvnrepository.com上的几个jar,唯一一次将依赖项下载到外部库并添加到类路径中的时候我将项目作为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 build时,无论是否使用--refresh-dependencies选项,它都会下载新的依赖项,但它不会将下载的文件添加到外部库/ classpath所以我无法将它们导入到java代码中。我看到了一个类似于这个的问题,他们接受了像跑步这样的答案:
./gradlew idea
在我的情况下,这根本没有帮助,它只是在目录中添加了一些自动生成的文件,对行为没有明显的区别。
然后他们接受将项目作为gradle项目导入,我已经完成了 - 这有效,但添加新的依赖项不起作用。
仅供参考我使用gradle 2.5包装器和IDEA社区16.2
答案 0 :(得分:0)
好。我解决了/想出来了,显然它只是运行构建没有帮助, 在intellij里面,我不得不去看看 - >工具Windows - > Gradle,然后打开gradle窗口,我可以点击刷新按钮,下载依赖项。
感谢任何看过它的人:)