【问题标题】:How do I refer to a JAR built in the same Buildr buildfile?如何引用在同一个 Buildr 构建文件中构建的 JAR?
【发布时间】:2012-09-18 21:27:09
【问题描述】:

我目前正在使用 IntelliJ IDEA 来构建我的项目,但我想摆脱它以打破对这个特定 IDE 的依赖。 Buildr 看起来是个不错的选择,因为 1) 它很简单,并且 2) 我已经了解 Ruby。

我的 IDEA 项目,它是一个 Java 库,目前看起来像这样:

/
    /src/...
    /sample_applications/

我可以将我的库构建为一个 JAR,目标是这样的,没有任何问题:

define 'my_library' do
  project.version = '0.0.1'
  package(:jar)
end

但我想为示例应用程序提供构建目标——这些应用程序依赖于my_library——使用相同的构建文件。如果我像这样创建另一个目标:

sample_layout = Layout.new
sample_layout[:source, :main, :scala] = 'sample_programs/simple_program.scala'
define 'simple_program', :layout => sample_layout do
  project.version = '0.0.1'
  package(:jar)
end

simple_program-0.0.1.jar 编译得很好,但不包括 my_library JAR。如果我通过将上述定义修改为:

define 'simple_program', :layout => sample_layout do
  project.version = '0.0.1'
  package(:jar).path("lib").tap do |p|
    p.include artifact('my_library').to_s
  end
end

然后我收到如下错误: RuntimeError : {:group=>"my_library"}

缺少工件标识符

如何在同一个构建文件中引用我之前在另一个项目中创建的 JAR?

【问题讨论】:

    标签: scala jar buildr


    【解决方案1】:

    这是一个简单的问题,你只需要告诉 Buildr 打包任务需要从其他项目构建 jar:

    package(:jar).include( project('my_library').package(:jar), :as => "lib/my_library.jar" )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      相关资源
      最近更新 更多