Gradle:发布jar时从依赖项中排除文件
我正在使用Gradle:发布jar时从依赖项中排除文件,gradle,Gradle,我正在使用maven publish和gradle一起发布一个库jar。该库依赖于libtensorflow_jni.jar,其中包含几个大型二进制文件。为了将库的大小减少到我遇到的第三方限制以下,在构建整个包时,我想从libtensorflow_jni jar中排除(不需要的)Windows dll二进制文件 发布时,是否有合理的方法将特定文件从依赖项中排除?我找不到一种干净的方法来实现这一点,因此我使用了一个黑壳脚本: set-ex #从部署的zip文件中删除不需要的大型二进制文件,以避免超
maven publish
和gradle一起发布一个库jar。该库依赖于libtensorflow_jni.jar
,其中包含几个大型二进制文件。为了将库的大小减少到我遇到的第三方限制以下,在构建整个包时,我想从libtensorflow_jni jar中排除(不需要的)Windows dll二进制文件
发布时,是否有合理的方法将特定文件从依赖项中排除?我找不到一种干净的方法来实现这一点,因此我使用了一个黑壳脚本:
set-ex
#从部署的zip文件中删除不需要的大型二进制文件,以避免超出Lambda限制
光盘制作/发行/
解压-o app.zip
rm app.zip
zip-d lib/libtensorflow_jni-*.jar org/tensorflow/native/windows-x86_64/tensorflow_jni.dll
zip-d lib/libtensorflow_jni-*.jar org/tensorflow/native/darwin-x86_64/libtensorflow_jni.dylib
zip-r app.zip。
并在build.gradle
中从任务调用此脚本,如下所示:
task shrinkAppJar(type: Exec) {
commandLine './shrink-jar.sh'
}
build.dependsOn buildZip, shrinkAppJar