3

私は sbt 0.13.5 を使用して、展開後に人間が編集することを意図したいくつかの構成ファイルを含むプロジェクトをビルドします。

sbt-native-packagerのコマンドを使用stageすると、展開用の基本的な出力ディレクトリ構造が構築されます。これによりbin、開始スクリプトとフォルダー内のすべての jar を含むlibフォルダーが作成されます。偉大な。

これにより、フォルダーにコピーする必要があるテキスト構成ファイルがconfそのまま残されますbin/lib/フォルダー(任意の jar には含まれません)。

sbt を使用して、これらの構成ファイルを (jar ではなく) ファイルシステムの出力ディレクトリにコピーするにはどうすればよいですか?

4

3 に答える 3

4

ディレクトリなどのすぐに使用できるサポートについてsrc/main/confはわかりません。それが見つからない場合は、次の回避策を使用してください。

packageArchetype.java_application

mappings in Universal ++= {
  ((sourceDirectory in Compile).value / "conf" * "*").get.map { f => 
    f -> s"conf/${f.name}"
  }
}

パッケージ内のディレクトリにあるファイルsrc/main/confをマップします。conf

注意:コードのどこかでディレクトリのサポートを見たことがあると確信しています。conf

于 2014-08-18T22:10:58.847 に答える
1

私はsbt-native-packagerプラグインと一緒にsbtを使用しているので、これは「より良い」答えのようです:

mappings in Universal ++= contentOf(  baseDirectory.value / "conf" )

これにより、指定された「conf」フォルダーの下にあるすべてのファイルが取得され、パッケージのルート フォルダーにダンプされます。

これは、sbt-native-packagerの非常に簡潔なドキュメントで偶然見つけたMappingsHelperを使用します。

于 2014-08-21T04:43:46.053 に答える