2016-08-09 17 views
0

私はsbt assembly自分自身のfatjar以下のbuild.sbtファイルで問題なし。しかし、私がこの "fat jar"を公開しようとすると、sbt publishはs3バケットに1kbの.jarファイルしかダンプしません。sbtアセンブリは脂肪瓶を公開していません

.jarファイルを解凍すると、マニフェストファイルのみが含まれていることが示されます。

どのように私のレポに脂肪の入った瓶を入れるのですか?

更新:最初の質問が提起されてからストライクテキストが変更されました。名前のオーバーライドを削除し、それが今のビルドコードを公開していますが、以下の外部ライブラリ

せず、私のbuild.sbtファイルアセンブリ内

name := "util_myutil" 

version := "1.0.1" 

scalaVersion := "2.10.4" 

scalacOptions += "-target:jvm-1.7" 

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.5.0-cdh5.5.2" % "provided" 

unmanagedJars in Compile += file(".lib/my.jar") 
unmanagedJars in Compile += file(".lib/some_other.jar") 


assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false) 

assemblyJarName:= sの "$ {Name.valueに} - https://github.com/sbt/sbt-assemblyから$ {version.value}の.jar」

ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) } 

resolvers ++= Seq(
    "Cloudera repos" at "https://repository.cloudera.com/artifactory/cloudera-repos", 
    "Cloudera releases" at "https://repository.cloudera.com/artifactory/libs-release", 
    "Era7 maven releases" at "https://s3-eu-west-1.amazonaws.com/releases.era7.com" 
) 

s3sse := true 
s3region := com.amazonaws.services.s3.model.Region.US_Standard 
s3acl := com.amazonaws.services.s3.model.CannedAccessControlList.Private 
s3overwrite := true 
publishMavenStyle := true 

publishTo := { 
    val suffix = if (isSnapshot.value) "snapshots" else "releases" 
    Some(s3resolver.value(s"IT Insights Artifacts $suffix", s3("my-mvn-repo." + suffix))) 
} 

答えて

2

これをあなたのbuild.sbtに追加:

artifact in (Compile, assembly) := { 
    val art = (artifact in (Compile, assembly)).value 
    art.copy(`classifier` = Some("assembly")) 
} 

addArtifact(artifact in (Compile, assembly), assembly) 
関連する問題