我想將我的scala主應用程序代碼打包爲.deb文件。該應用程序將只能在一臺Ubuntu機器上運行,所以我並不在乎Windows等。簡化deb的設置只用sbt本地打包程序生成
目前,我正在努力尋找使用最簡單的設置來編譯.deb最簡單的方法。假設我在我的src
文件夾中有一個簡單的object Kernel extends App
scala文件,該文件夾應該捆綁在jardependencies中。該項目
我目前基於Debian的階設置爲:
import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys.
val debSettings = mapGenericFilesToLinux ++ linuxSettings ++ debianSettings ++ Seq(
name in Debian := "my-app",
version in Debian := "0.1-version",
mainClass := Some("Kernel"),
packageSummary := "",
target := new java.io.File("target"),
packageDescription := "my app",
packageDescription := "my app desciption",
NativePackagerKeys.normalizedName := "normalizedName",
maintainer := "my name",
sourceDirectory := new java.io.File("./src"),
debianPackageDependencies in Debian ++= Seq("openjdk-7-jre"),
debianPackageRecommends in Debian ++= Seq(),
linuxPackageMappings in Debian ++= Seq() ,
debianMaintainerScripts ++=Seq())
的debian:package-bin
通話作品和一個deb創建,但沒有二進制文件/罐被複制到DEB所以我顯然錯過了一些配置。我知道仍然缺少linuxPackageMappings等,但我想知道是否有一個更容易編譯配置?使用packageArchetype.java_server
迫使我包括這麼多未使用的變量的Windows等我想避免這一點。
任何建議如何簡化deb-only構建的設置+映射?
偉大的工程 - 現在我正在尋找一種方法來結合oneJar(https://github.com/sbt/sbt-onejar)和「debian:packageBin」命令。目前,我的deb是空的,除了配置文件 – magegu
沒關係:答案在這裏:http://stackoverflow.com/questions/11365790/getting-an-sbt-task-to-depend-on-the-onejar-task – magegu