我开始在一个项目中使用 Apache builder,我很惊讶我需要这么少的代码来构建我的项目。但是在第一次成功之后,出现了一个问题:
我有一些需要的文本文件存储在一个 jar 文件中,可以从存储库下载。我已将它作为工件包含在我的构建文件中,并且可以使用它下载编译。
现在我想提取 jar 的内容并将其放在我项目的根文件夹中。Apache Buildr 有没有办法为我做到这一点?仅将其添加到类路径是不够的。
我开始在一个项目中使用 Apache builder,我很惊讶我需要这么少的代码来构建我的项目。但是在第一次成功之后,出现了一个问题:
我有一些需要的文本文件存储在一个 jar 文件中,可以从存储库下载。我已将它作为工件包含在我的构建文件中,并且可以使用它下载编译。
现在我想提取 jar 的内容并将其放在我项目的根文件夹中。Apache Buildr 有没有办法为我做到这一点?仅将其添加到类路径是不够的。
jar 文件是一个 zip 文件。您可以使用构建器的内置unzip
帮助程序将其解压缩到您想要的任何位置。unzip
帮助器记录在构建器文档的工件部分中。
如果需要获取 buildr 下载的工件的文件名,可以调用#to_s
工件:
artifact('net.example:text-files:jar:1.0.0').to_s
我相信这是您正在寻找的示例,来自http://buildr.apache.org/artifacts.html
bean_jar = file('target/app/bean.jar'=>unzip('target/app'=>app_zip))
也可以直接调用Buildr的Unzip,别忘了extract
最后的。
Unzip.new( 'path/to/extra/to' => 'file/to/unzip').extract