从gradle运行时依赖项JAR中提取json文件
我需要浏览从gradle运行时依赖项JAR中提取json文件,gradle,gradle-plugin,Gradle,Gradle Plugin,我需要浏览运行时依赖项列表,并从jar中提取文件夹中的json文件,其中包含相应的jar名称 我已经尝试了下面的代码,但是它创建了一个文件夹,其中包含它读取的最后一个jar的名称,并将所有json文件放在其中,以维护jar根目录的路径 task copyJsonToQrelease(type: Copy) { configurations.runtime.each { File f -> from zipTree(f) include "**/*.j
运行时依赖项列表
,并从jar中提取文件夹中的json
文件,其中包含相应的jar名称
我已经尝试了下面的代码,但是它创建了一个文件夹,其中包含它读取的最后一个jar的名称,并将所有json
文件放在其中,以维护jar根目录的路径
task copyJsonToQrelease(type: Copy) {
configurations.runtime.each { File f ->
from zipTree(f)
include "**/*.json"
into "${viewRoot}/Qrelease/JsonResources/"+f.getName()
includeEmptyDirs = false
}
}
结果:Qrelease\JsonResources\netty-common-4.1.16.Final.jar\release resources\DummyService.json
预期结果:Qrelease\JsonResources\MyJarName\DummyService.json
jar文件的名称是netty-common-4.1.16.Final.jar
所以,MyJarName
部分应该是正确的,对吗
release resources\DymmyService.json
是json文件的名称
因此,您需要创建json文件
这适用于windows(未测试):
注意-此正则表达式是特定于操作系统的。更好:构建regex操作系统所依赖的 jar文件的名称是netty-common-4.1.16.Final.jar
所以,MyJarName
部分应该是正确的,对吗
release resources\DymmyService.json
是json文件的名称
因此,您需要创建json文件
这适用于windows(未测试):
注意-此正则表达式是特定于操作系统的。更好:构建regex操作系统所依赖的 事实上,我不想重命名json文件,根据我的说法,f.getName()应该包含jar名称,因此提取的json的路径应该是Qrelease\JsonResources\MyJarName\DummyService.json,但它没有发生。是的,f.getName()
提供了jar文件名,就我所知,这部分是正确的。但是,您正在文件树上应用筛选器,结果是“筛选文件树”,并且您正在将该筛选文件树复制到目录中。示例中的json文件名是release resources\DummyService.json
。如果您不想重命名它。。您必须接受结果。实际上,我不想重命名json文件,根据我的说法,f.getName()应该包含jar名称,因此提取的json的路径应该是Qrelease\JsonResources\MyJarName\DummyService.json,但它不会发生。是的,f.getName()
提供了jar文件名,这一部分是正确的——据我所知。但是,您正在文件树上应用筛选器,结果是“筛选文件树”,并且您正在将该筛选文件树复制到目录中。示例中的json文件名是release resources\DummyService.json
。如果您不想重命名它。。你必须接受结果。
rename(/.*\\(.+json)/, '$1')