用語の下で何を意味しclassifiers
ますか? Jarsから来ていますか?sbt-assembly
プラグインの例:
artifact in (Compile, assembly) ~= { art =>
art.copy(`classifier` = Some("assembly"))
}
用語の下で何を意味しclassifiers
ますか? Jarsから来ていますか?sbt-assembly
プラグインの例:
artifact in (Compile, assembly) ~= { art =>
art.copy(`classifier` = Some("assembly"))
}
classifier
groupId
、artifactId
、version
およびの後に、プロジェクト座標の 5 番目の要素として Maven によって定義されpackaging
ます。
より具体的には(Mavenのドキュメント、重点鉱山から):
分類子により、同じ POM から構築されたが内容が異なるアーティファクトを区別できます。これはオプションの任意の文字列であり、存在する場合はアーティファクト名のバージョン番号の直後に追加されます。
この要素の動機として、たとえば、JRE 1.5 をターゲットとするアーティファクトを提供すると同時に、JRE 1.4 をサポートするアーティファクトも提供するプロジェクトを考えてみましょう。クライアントがどちらを使用するかを選択できるように、最初のアーティファクトには分類子 jdk15 を装備し、2 番目のアーティファクトには jdk14 を装備することができます。
分類子のもう 1 つの一般的な使用例は、プロジェクトのメイン アーティファクトにセカンダリ アーティファクトを添付する必要がある場合です。Maven 中央リポジトリを参照すると、分類子のソースと javadoc を使用して、パッケージ化されたクラス ファイルとともにプロジェクトのソース コードと API ドキュメントがデプロイされていることがわかります。
たとえば、Maven central には normal (classifier なし) だけscala-library-2.10.2.jar
でなく、
scala-library-2.10.2-javadoc.jar
慣例により、ドキュメントが含まれています (この場合、javadoc ではなく scaladoc が含まれていても)。scala-library-2.10.2-sources.jar
ソースが含まれています。これら 2 つの追加成果物は、分類子とともに公開されました。
SBT では、分類子を依存関係に追加することもできます。ドキュメントから:
libraryDependencies += "org.testng" % "testng" % "5.7" classifier "jdk15"
あなたの場合、sbt-assembly プラグインがすべての分類子 (アセンブリ タスク内のみ) をオーバーライドして、それらを に設定しているようassembly
です。