关键词:
【中文标题】Gradle 构建不下载依赖项【英文标题】:Gradle build doesn't download dependencies 【发布时间】:2016-11-23 23:01:25 【问题描述】:在我的 web 应用的根目录中运行 gradle build
后,build.gradle
中声明的 spring 安全依赖项没有被下载。
这是我的build.gradle
/*
* This build file was auto generated by running the Gradle 'init' task
* by 'hombod' at '7/19/16 4:19 PM' with Gradle 2.14.1
*
* This generated file contains a commented-out sample Java project to get you started.
* For more details take a look at the Java Quickstart chapter in the Gradle
* user guide available at https://docs.gradle.org/2.14.1/userguide/tutorial_java_projects.html
*/
// Apply the java plugin to add support for Java
apply plugin: 'java'
// In this section you declare where to find the dependencies of your project
repositories
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
mavenCentral()
// In this section you declare the dependencies for your production and test code
dependencies
// The production code uses the SLF4J logging API at compile time
compile 'org.slf4j:slf4j-api:1.7.21'
// Declare the dependency for your favourite test framework you want to use in your tests.
// TestNG is also supported by the Gradle Test task. Just change the
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
// 'test.useTestNG()' to your build script.
testCompile 'junit:junit:4.12'
compile 'org.springframework.security:spring-security-web:4.1.1.RELEASE'
相反,我只是收到此消息
:compileJava UP-TO-DAT
:processResources UP-T
:classes UP-TO-DATE
:jar UP-TO-DATE
:assemble UP-TO-DATE
:compileTestJava UP-TO
:processTestResources
:testClasses UP-TO-DAT
:test UP-TO-DATE
:check UP-TO-DATE
:build UP-TO-DATE
这是我在其中运行 gradle init
命令的 spring mvc 网络应用程序
【问题讨论】:
已经下载了。检查相关文件夹。 @SkyWalker 但我在我的网络应用程序中的任何地方都看不到它, @iMassakre 'don't see it' == 无法在您的代码中引用它? @iMassakre 你用什么IDE,如果有的话?你有编译时或运行时错误吗? @yonisha 我正在使用 Eclipse。没有编译或运行时错误。我只是想为我的网络应用下载 Spring Security。 【参考方案1】:系统会缓存依赖的jar包,这样就不会一次又一次地下载。
如果您的目标只是查看依赖项的下载,那么您可以强制重新下载。
删除本地存储的任何依赖缓存 [1]
$ rm -rf ~/.gradle/caches/
然后重新开始构建
$ gradlew clean build
您也可以使用 [2] 强制更新依赖项
$ gradlew --refresh-dependencies
[1]https://docs.gradle.org/current/userguide/dependency_management.html#sec:dependency_cache [2]https://docs.gradle.org/current/userguide/dependency_management.html#sub:cache_refresh
【讨论】:
【参考方案2】:对我有帮助的解决方案:
File -> Invalidate Caches/Restart...
【讨论】:
也许值得一提的是,这个答案假设您使用的是 Intellij 或其他缓存依赖项的 IDE。也就是说,这对我有用。【参考方案3】:我使用的是 IntelliJ 2018.2.3,而 Gradle 没有为我下载依赖项。
我发现我必须取消选中 Gradle 设置中的“离线工作”框才能下载它们。我不确定这个框是如何被选中的,因为我没有选中它(老实说)。
编辑:在 IntelliJ 2021.2.1 离线模式现在可以在 Gradle 工具窗口中切换,如下所示:
【讨论】:
你拯救了我的一天。在我的情况下,检查“切换离线模式”没有触发库下载。取消选中按钮并..从文件>无效缓存中删除缓存文件...解决了问题。【参考方案4】:如果您的项目在一段时间内成功构建,则可能是当前代理的 gradle 下载问题。 Gradle 有自己的依赖管理系统,类似于 maven。我认为 gradle 发布插件的某些部分以某种方式得到了 maven 的支持(未验证)。无论您不必担心这种深度,gradle 都会处理它。您的问题是设置代理。你只需要在$projectDir/gradle.properties中设置一些变量,例如:
#http proxy setup
systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
这可以用来在没有代理的情况下下载依赖项。如果你想使用代理,你可以使用下面的代码而不是上面的代码。
systemProp.https.proxyPort=3128
systemProp.http.proxyHost=192.168.16.2
systemProp.https.proxyHost=192.168.16.2
systemProp.http.proxyPort=3128
代理端口和主机可以随意更改。
【讨论】:
【参考方案5】:在构建较旧的react-native
项目时遇到类似问题。
react-native run-android
命令刚刚打印:
Could not find com.android.tools.build:gradle:2.3.3
在对build.gradle
文件进行大量更改后,发现它没问题,并且
刚刚在Android-Studio
中打开了我的react-native
项目的android
目录,所有的依赖都下载好了。
但为了防止一次又一次地下载文件,使用GradleCopy 使它们可以离线使用,并更改了build.gradle
文件,如下所示:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript
ext
//kotlin_version = '1.2.40'
offline = 'D:/android/sdk/extras/m2repository'
repositories
try maven url uri(offline) catch (Throwable e)
try maven url uri('C:/Program Files/Android/Android Studio/gradle/m2repository') catch (Throwable e)
jcenter()
maven url 'https://maven.google.com'
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:2.3.3' //was "2.3.3" with "gradle-3.4.1-all.zip" got "3.1.3" with "gradle-4.4-all.zip"
////below "kotlin" is required in root "build.gradle" else the "offline" repo will not get searched
//classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
allprojects
repositories
try maven url uri(offline) catch (Throwable e)
jcenter()
mavenLocal()
maven
url 'https://maven.google.com/'
name 'Google'
mavenCentral()
maven
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
(即确实将offline
变量设置为我的m2repository
路径并使用它:maven url uri(offline)
)
【讨论】:
Gradle离线如何缓存依赖项
】Gradle离线如何缓存依赖项【英文标题】:Gradleofflinehowtocachethedependencies【发布时间】:2016-10-1013:35:43【问题描述】:我在服务器上进行夜间gradle构建,我从git签出存储库并构建它们。但是,有一个代理,gradle无法下载任何存储... 查看详情
Gradle javax.jms 依赖项未下载
】Gradlejavax.jms依赖项未下载【英文标题】:Gradlejavax.jmsdependencynotgettingdownloaded【发布时间】:2015-03-2011:59:58【问题描述】:我正在尝试使用gradle构建基于JMS(activeMq)的应用程序。我需要下载javax.jmsapi依赖项。我将此添加到我的编... 查看详情
当 HEAD 请求失败时,Gradle 无法下载依赖项
】当HEAD请求失败时,Gradle无法下载依赖项【英文标题】:GradlefailingtodownloaddependencywhenHEADrequestfails【发布时间】:2018-06-2312:55:58【问题描述】:我在我的Gradle构建脚本中设置了一个依赖项,该脚本托管在Bitbucket上。Gradle下载失败... 查看详情
Gradle - 获取依赖项的 URL
】Gradle-获取依赖项的URL【英文标题】:Gradle-getURLofdependencyartifact【发布时间】:2016-10-0810:24:40【问题描述】:我想在Gradle获得所有可用的依赖项之后手动下载依赖项,因此我想获取Gradle用于下载这些构件的URL。有没有办法获取Gr... 查看详情
使用 gradle 构建开源依赖项
】使用gradle构建开源依赖项【英文标题】:Buildingopensourcedependenciesusinggradle【发布时间】:2021-12-1022:02:39【问题描述】:我真的没有太多开发经验,更不用说使用构建工具了。我被分配了一项任务来在本地构建依赖项并获取jar文... 查看详情
如何从 Java 代码下载 Gradle 依赖项?
】如何从Java代码下载Gradle依赖项?【英文标题】:HowtodownloadGradledependencyfromjavacode?【发布时间】:2018-06-1916:08:23【问题描述】:我的Java应用程序需要按需将工件从Artifactory复制到AWSS3临时存储桶(应用程序组、名称和版本将在运... 查看详情
Gradle复合构建无法解决传递依赖项[重复]
】Gradle复合构建无法解决传递依赖项[重复]【英文标题】:Gradlecompositebuildcan\'tresolvetransitivedependencies[duplicate]【发布时间】:2021-10-2001:23:37【问题描述】:我有一个依赖库B的项目A,我正在使用gradle复合构建。项目B包含几个常见... 查看详情
gradle 依赖项更新问题后 Cordova Android 构建损坏
】gradle依赖项更新问题后CordovaAndroid构建损坏【英文标题】:CordovaAndroidbuildbrokenaftergradledependenciesupdateissue【发布时间】:2018-11-0905:01:02【问题描述】:JAVA_HOME=C:\\ProgramFiles\\Java\\jdk1.8.0_111目标SDK版本:25gradle依赖项更新后CordovaAndr... 查看详情
使用 maven 的 pom.xml 来构建 gradle 依赖项?
】使用maven的pom.xml来构建gradle依赖项?【英文标题】:usemaven\'spom.xmlforgradlebuilddependencies?【发布时间】:2018-01-0208:51:58【问题描述】:我的问题很简单。我有一个mavenjava项目,我想用gradle构建它。目前我有一个pom.xml文件,我在... 查看详情
如何根据构建变体使用 gradle 不同依赖模块的依赖项进行编译?
】如何根据构建变体使用gradle不同依赖模块的依赖项进行编译?【英文标题】:Howtocompilewithgradledifferentdependencymodule\'sdependenciesbasedonbuildvariants?【发布时间】:2017-09-0910:17:45【问题描述】:我有一个具有模块依赖关系的Android应用... 查看详情
如何发布带有远程依赖项 (gradle) 的 Android 库 (aar)?
】如何发布带有远程依赖项(gradle)的Android库(aar)?【英文标题】:HowdoIshipanAndroidLibrary(aar)withremotedependencies(gradle)?【发布时间】:2014-07-2708:12:03【问题描述】:我正在尝试使用具有远程依赖关系的gradle构建一个aar文件。下面是一... 查看详情
Gradle 构建 Android 项目“无法解决所有依赖项”错误
】Gradle构建Android项目“无法解决所有依赖项”错误【英文标题】:GradleBuildAndroidProject"Couldnotresolvealldependencies"error【发布时间】:2013-08-0510:12:19【问题描述】:我正在尝试使用Gradle构建我的第一个项目,我认为我的gradle... 查看详情
gradle依赖项配置(代码片段)
...积累和分享本文:https://www.jianshu.com/p/49fc95d8c937前言Gradle依赖配置查询配置行为implementation将依赖项添加到编译类路径,并将依赖项打包到构建输出注意:Model使用时,不会泄露给其它模块引用api将依赖项添加到编... 查看详情
intellij 构建包含 gradle 依赖项的 jar 工件
】intellij构建包含gradle依赖项的jar工件【英文标题】:intellijbuildjarartifactcontaininggradledependencies【发布时间】:2015-08-2718:03:09【问题描述】:我基本上想做一些简单的事情——或者至少我认为它应该很简单。我的目标是创建一个Int... 查看详情
Gradle:使用 Spring Boot 依赖项构建“fat jar”
】Gradle:使用SpringBoot依赖项构建“fatjar”【英文标题】:Gradle:Build\'fatjar\'withSpringBootDependencies【发布时间】:2016-02-0806:58:52【问题描述】:我正在使用Gradle构建一个非常简单的SpringBoot应用程序(99%静态内容)并将其打包到一个... 查看详情
Gradle buildscript 依赖项
】Gradlebuildscript依赖项【英文标题】:Gradlebuildscriptdependencies【发布时间】:2012-12-0502:46:54【问题描述】:在gradle构建的buildscript部分或构建的根级别声明存储库有什么区别。buildscriptrepositoriesmavenCentral();对repositoriesmavenCentral();【... 查看详情
在 Intellij 中无法识别 Gradle 依赖项
】在Intellij中无法识别Gradle依赖项【英文标题】:GradleDependenciesnotrecognizedinIntellij【发布时间】:2016-09-2523:38:36【问题描述】:我正在开发一个使用Gradle作为依赖管理系统或其他东西的SpringBoot应用程序。在向构建脚本添加几个依... 查看详情
如何在gradle构建文件中将哪个依赖项和依赖项版本打包到war文件中?(代码片段)
我想打印所有依赖groupId,artifactId和将在多个模块gradle项目中打包到war包中的版本。我能做什么?答案您可以在定义dependenciestask的项目上运行war。在链接文档页面中有许多其他方法可用于调查Gradle项目的依赖关系。 查看详情