我正在尝试使用ShadowJar插件创建两个'fatJars'作为同一构建文件的一部分.我试图通过声明两个ShadowJar类型的任务在构建内运行两次shadowJar任务
到目前为止,我已经定义了两个这样的任务:
task shadowjar_one (type: com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar)
task shadowjar_two (type: com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar)
Run Code Online (Sandbox Code Playgroud)
现在尝试像这样创建我的罐子:
shadowjar_one {
mergeServiceFiles()
exclude 'somefile.txt'
archiveName = 'jar1.jar'
appendManifest {
attributes 'Main-Class': 'some.package.someClass'
}
}
shadowjar_two {
mergeServiceFiles()
exclude 'someOtherfile.txt'
archiveName = 'jar2.jar'
appendManifest {
attributes 'Main-Class': 'some.package.someOtherClass'
}
}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是创建了jar,但它们不包含来自"其他"jar的任何其他依赖项(包,文件等).jar只包含META-INF和当前项目的包目录.
知道可能是什么问题吗?
注意:我期待生成两个略有不同的jar文件.两者必须具有相同的项目代码库,并且清单的Main-Class属性存在差异(以及其他一些小差异)
非常感谢!