因此,基本上,你你把:
放入当前项目目录。 gradle-wrapper.jar来自您当地的Gradle发行版。 You can check this in the source code
URL jarFileSource = Wrapper.class.getResource("/gradle-wrapper.jar");
if (jarFileSource == null) {
throw new GradleException("Cannot locate wrapper JAR resource.");
}
GFileUtils.copyURLToFile(jarFileSource, jarFileDestination);
当您运行gradle wrapper
调用从罐子主类,以下载并运行摇篮。因此,从技术上讲,您可以修改SH和BASH脚本,以便在Java执行之前从Github存储库下载封装器文件,显然只有当该文件不存在时才可以。我实际上做了它,它的工作,但我不知道它可能是多么容易出错。我不知道Github是否将来不会更改URL。我只是在gradlew.sh的某处添加了以下代码段。在CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
线
if [ ! -f "gradle/wrapper/gradle-wrapper.jar" ]
then
curl https://raw.githubusercontent.com/gradle/gradle/master/gradle/wrapper/gradle-wrapper.jar -o $APP_HOME/gradle/wrapper/gradle-wrapper.jar
fi
反正之前,包装文件有56K,它的目的是要尽可能小,让人们把它变成Git仓库。话虽这么说,我认为你不应该担心它,只是添加这种特殊的JAR文件添加到白名单,以您的挂钩,并允许它在资源库中,
谢谢,我会给这个镜头。我们将从我们自己的内部远程服务器发布,以便可以工作。我也有点阅读包装脚本,也许我可以将它移植到某个东西上。另一个想法是一个克隆钩子,它检测gradlew文件是否在那里,并将它重新定位在克隆上。我会玩,看看它做了什么。我们专门设计了没有白名单的我们的罐式过滤系统,因为他们在这里受到虐待的长期和高贵的习惯。 – scphantm