使用 bnd 将 jars 目录包含到 bundle 中
Include directory of jars into bundle with bnd
我能够使用 -includeresource
使用 bnd gradle 插件成功构建一个包含依赖 jar 的包。但是,当我尝试构建要以编程方式包含的 jar 目录,并尝试将整个目录包含到包中时,如下所示:
jar {
dependsOn copyJars
// Build OSGI bundle, including the incompatible version of the transitive dependency
bnd('-exportcontents': 'com.example.foo',
'-sources': 'false',
'-includeresource': 'build/tmp/include/=lib/; lib:=true')
}
copyJars
任务有效(我可以看到 jar 文件已被复制),但随后出现此错误:
error : Input file does not exist: lib/
error : Input file does not exist: lib/
这没有意义 - lib/
不是输入,而是输出。
那是因为它是作为输入文件给出的——这是错误的方式。应该是:
'-includeresource': 'lib/=build/tmp/include/; lib:=true')
我能够使用 -includeresource
使用 bnd gradle 插件成功构建一个包含依赖 jar 的包。但是,当我尝试构建要以编程方式包含的 jar 目录,并尝试将整个目录包含到包中时,如下所示:
jar {
dependsOn copyJars
// Build OSGI bundle, including the incompatible version of the transitive dependency
bnd('-exportcontents': 'com.example.foo',
'-sources': 'false',
'-includeresource': 'build/tmp/include/=lib/; lib:=true')
}
copyJars
任务有效(我可以看到 jar 文件已被复制),但随后出现此错误:
error : Input file does not exist: lib/
error : Input file does not exist: lib/
这没有意义 - lib/
不是输入,而是输出。
那是因为它是作为输入文件给出的——这是错误的方式。应该是:
'-includeresource': 'lib/=build/tmp/include/; lib:=true')