Java 使用本地依赖项Gradle构建胖jar

Java 使用本地依赖项Gradle构建胖jar,java,maven,gradle,build.gradle,gradlew,Java,Maven,Gradle,Build.gradle,Gradlew,我有一个build.gradle文件,如下所示 buildscript { repositories { jcenter() } } dependencies { compile 'io.dropwizard:dropwizard-core:0.8.2' compile 'io.dropwizard:dropwizard-testing:0.8.2' } 当我运行gradlebuild时,它从maven存储库下载dropwizard依赖项并构建一个胖jar。每次我在新

我有一个build.gradle文件,如下所示

buildscript {
    repositories { jcenter() }
}

dependencies {
    compile 'io.dropwizard:dropwizard-core:0.8.2'
    compile 'io.dropwizard:dropwizard-testing:0.8.2'
}
当我运行
gradlebuild
时,它从maven存储库下载dropwizard依赖项并构建一个胖jar。每次我在新的开发环境中提取代码时,它都会从maven central repo获取。但是一些开发机器没有互联网接入,为了在这些机器中构建,我想如果我可以在源代码根文件夹中创建一个名为
libs
的文件夹,并使用这个文件夹加载jar文件,如

repositories {
   flatDir {
       dirs 'libs'
   }
}

有可能吗?从maven central下载的jar可以在本地机器中的何处找到,这样我就可以将它们复制到libs文件夹(dropwizard 0.8.2 jar)

是的,这是可能的。创建以下任务:

task copyLibs(type: Copy) {
   from configurations.compile
   into 'libs'
}
运行此任务后,您将拥有一个包含所有依赖项的文件夹libs(您可能需要更广泛的范围,而不仅仅是编译,所以请对齐任务)。您需要将此文件夹检查到SCM并提交


当然,请注意,如果您(例如)更改版本,它不会自动更新依赖项-您需要手动执行此操作,或者可能编写一个插件来完成所有您需要的操作。

您好,我已经按照您的建议添加了,运行了任务copyLibs,但是我在编译下载库时发现错误
package io.dropwizard不存在
,您需要添加
repositories
块并指定
mavenCentral()
。谢谢,但是我想添加Mockito依赖项,但这样添加依赖项不起作用
依赖项{编译名:'mockito-core-2.0.14-beta'编译名:'mockito-all-1.9.5'}
你说不工作是什么意思?你能分享一下你的
build.gradle
脚本吗?我的回答解决了问题吗?