1

現在、IntelliJ IDEA を使用してプロジェクトをビルドしていますが、この特定の IDE への依存を断ち切るために IntelliJ IDEA から離れたいと考えています。 Builderは、1) シンプルであり、2) Ruby を既に知っているため、優れたオプションのように見えます。

Java ライブラリ用の私の IDEA プロジェクトは、現在次のようになっています。

/
    /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_libraryJAR は含まれていません。上記の定義を次のように変更して含めると、

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 : Missing artifact identifier for {:group=>"my_library"}

同じビルドファイル内の別のプロジェクトで以前に作成した JAR を参照するにはどうすればよいですか?

4

1 に答える 1

2

これは単純な問題です。パッケージ タスクで他のプロジェクトから jar をビルドする必要があることを Buildr に伝える必要があります。

package(:jar).include( project('my_library').package(:jar), :as => "lib/my_library.jar" )
于 2012-09-19T00:25:06.653 に答える