5

foo.jarバイナリ jar としてのみ利用可能なコード (と呼びましょう) に依存するライブラリを作成しています。標準のように、これをlib/ディレクトリに入れているので、SBT はこれを管理されていない依存関係として扱います。ここまでは問題ありません。

ただし、これはライブラリであるため、公開して、それに依存する他のプロジェクトもアンマネージ コードにアクセスできるようにしたいと考えていfoo.jarます。手動で見つける必要はありません。私は当初、 SBT アセンブリなどのファット jar プラグインを使用して依存関係を持つ jar を作成できると考えていましたが、実際に公開されているものには影響しません。sbt publish-local実行時にファット jar を作成するだけですsbt assembly。これを処理するための標準的な簡単な方法はありますか? 管理されていない依存関係を使用するすべてのライブラリがダウンストリームの他のプロジェクトで使用されたときに破損するのは悪い考えのように思えるので、明らかな何かが欠けているのではないかと思います。

4

2 に答える 2

4

それが sbt-assembly の適切な使い方かどうかはわかりませんfoo.jar.

これを回避する 1 つの方法はfoo.jar、自分で Maven リポジトリに公開することです。Scala や sbt コミュニティの何人かはbintrayについて話しています。まだベータ版ですが、いくつかの jar を公開したい場合は有望に見えます。

于 2013-08-20T07:42:49.543 に答える