Sbt 如何使用自定义布局创建deb
我有一个播放服务器应用程序 目前,我有20行bash脚本创建此deb:Sbt 如何使用自定义布局创建deb,sbt,sbt-native-packager,Sbt,Sbt Native Packager,我有一个播放服务器应用程序 目前,我有20行bash脚本创建此deb: /srv /foo /conf <unmanaged resources> /staged <jars> 如何获得所需的布局?我是否需要实施一个新的计划 我使用的是SBT 0.13.7和SBT native packager 1.0.0-M1。如果您的布局与已生成的布局接近,您可以使用类似于defaultLinuxInstallLocation和defau
/srv
/foo
/conf
<unmanaged resources>
/staged
<jars>
如何获得所需的布局?我是否需要实施一个新的计划
我使用的是SBT 0.13.7和SBT native packager 1.0.0-M1。如果您的布局与已生成的布局接近,您可以使用类似于
defaultLinuxInstallLocation
和defaultLinuxConfigLocation
的设置
或者直接修改linuxPackageSymlinks
和linuxpackageappings
,例如
linuxPackageSymlinks := Seq(),
linuxPackageMappings := {
val libPath = "/srv/foo/staged"
val libs = scriptClasspathOrdering.value.map { case (file, classpath) =>
file -> classpath.replaceFirst("^lib", Matcher.quoteReplacement(libPath))
}
Seq(LinuxPackageMapping(libs))
// plus configuration
},
如果您有很多二进制文件要归档(即,您有很多依赖项),
debian:packageBin
相当慢。为了调试,请考虑使用<代码> DeBiNeaveDebug包< /C> > /P>
另外,要知道目录debianExplodedPackage
中的任何内容都将包含在归档文件中,因此如果.deb末尾有额外内容,您可能需要删除该目录
linuxPackageSymlinks := Seq(),
linuxPackageMappings := {
val libPath = "/srv/foo/staged"
val libs = scriptClasspathOrdering.value.map { case (file, classpath) =>
file -> classpath.replaceFirst("^lib", Matcher.quoteReplacement(libPath))
}
Seq(LinuxPackageMapping(libs))
// plus configuration
},