Java 将所有依赖jar文件存储在目录中

Java 将所有依赖jar文件存储在目录中,java,ruby,build,buildr,Java,Ruby,Build,Buildr,我使用buildr进行构建过程 我的项目设置: 项目A->项目B 项目A需要ant.jar 因此,我想创建一个如下所示的输出: target/a.jar target/lib/b.jar target/lib/ant.jar 到目前为止,我只在目标内部创建了一个.jar/ 如何持久化依赖jar文件?您可以扩展包任务,将项目A的所有依赖项复制到target/lib中,如下所示: ANT = 'org.apache.ant:ant:jar:1.8.1' define 'my-project' d

我使用buildr进行构建过程

我的项目设置:

项目A->项目B 项目A需要ant.jar

因此,我想创建一个如下所示的输出:

target/a.jar
target/lib/b.jar
target/lib/ant.jar
到目前为止,我只在目标内部创建了一个.jar/
如何持久化依赖jar文件?

您可以扩展包任务,将项目A的所有依赖项复制到
target/lib
中,如下所示:

ANT = 'org.apache.ant:ant:jar:1.8.1'

define 'my-project' do

  define 'A' do
    compile.with project('B'), ANT

    package.enhance do
      mkdir_p _(:target, :lib)
      compile.dependencies.each do |d|
        cp d.name, _(:target, :lib)
      end
    end
  end

  define 'B' do
    # ...
  end
end

我很熟悉mvn依赖插件,但不确定它是否适用于buildr…效果很好。增强是扩展任务的最佳方式吗?这是怎么回事?我在buildrYes的文档中没有找到任何关于该方法的信息,
enhanced
是扩展任务的标准方法。它来自Buildr所基于的Rake库:更具体地说,您可以查看:当我们发布下一版本的Buildr(1.4.3)时,网站将更新,以反映Buildr的rdoc和Rake的rdoc的合并版本,因此更容易看到所有对象的继承方法。