我想在我的应用程序中使用由Apache Derby项目创建的derbyrun.jar,以便将derby数据库作为Windows或Linux服务运行。
问题是derbyrun.jar在其清单中的其他德比罐中引用了名称中没有任何版本号,例如Class-Path: derby.jar derbyclient.jar derbytools.jar derbynet.jar
。虽然我的应用程序(包含许多子项目)使用“maven / gradle”格式derby-10.13.1.1.jar, derbyclient-10.13.1.1.jar, etc.
。
gradle中是否有一种简单的方法可以命名那些没有版本号的德比罐,比如
compile("org.apache.derby:derby:10.11.1.1") {
artifact {
name = 'derby'
}
}
应该只会产生derby.jar
。
我不喜欢在单独的任务中将derby-10.13.1.1.jar
重命名为derby.jar
的想法,因为我们使用configurations.runtime
等在许多地方引用这些工件名称(例如,在部署或创建时)我们自己的罐子的清单文件)。并且这种重命名方法似乎使脚本变得不必要(+当德比版本将被更改时所有未来的维护工作)。
有没有更好的方法来实现这一目标?当然,上面提到的artifact { name = 'derby' }
不会从jar的文件名中删除版本号。