4

私のプロジェクトファイル構造は次のようになります。

  • build.sbt
  • ライブラリ
  • 事業
  • ソース
  • 目標
  • テスト

フォルダー内libには、追加のjarファイルを含むサブフォルダーがあります。SBT にサブフォルダーを認識させたり、jar ファイルを再帰的に処理させたりするにはどうすればよいですか?

編集: @Jhonny Everson のおかげで、これを機能させることができました。方法は次のとおりです:build.sbtに次の行を追加しました

unmanagedJars in Compile <++= baseDirectory map { base =>
        val baseDirectories = (base / "lib" / "mycustomlib" )
        val customJars = (baseDirectories ** "*.jar")
        customJars.classpath
}

ベースディレクトリは build.sbt がある場所であることに注意してください。

4

2 に答える 2

1

vimの病原体のようなものを実装したかったのですが、思いついたのは次のとおりです。

unmanagedJars in Compile ++= {
  val libs = baseDirectory.value / "lib"
  val subs = (libs ** "*") filter { _.isDirectory }
  val targets = ( (subs / "target") ** "*" ) filter {f => f.name.startsWith("scala-") && f.isDirectory}
  ((libs +++ subs +++ targets) ** "*.jar").classpath
}

sbt 0.13.xまたはそれに依存する typesafe-activator を使用すると、 、および JAR がチェックさ/lib/lib/*/lib/*/target/scala-*クラスパスにロードされます。この例が何が起こっているのかを理解するのに十分明確でない場合はbaseDirectory.value、 、libssubsおよびtargetssbt.Pathfinderインスタンスであることを知っておくと役立つ場合があります。

于 2015-03-30T22:49:52.093 に答える