sbt-native-package Debian 与 JDKPackager
sbt-native-package Debian versus JDKPackager
我正在尝试了解这两种安装程序之间的区别。理想情况下,我希望能够 not 捆绑 Java 但具有(因为它应该在 Debian 上)包依赖性。这适用于 Debian plugin:
enablePlugins(DebianPlugin)
debianPackageDependencies in Debian += "java6-runtime"
理想情况下,我希望为我的桌面管理器(例如 Gnome)、处理图标、启动和 jvm 选项以及文件关联提供一个 .desktop
条目。这由 JDKPackager plugin:
自动处理
enablePlugins(JDKPackagerPlugin)
jdkAppIcon := ...
jdkPackagerJVMArgs := Seq("-Xmx1g")
jdkPackagerAssociations += FileAssociation(
"foobar", "application/foobar", "Foobar file type", myIcon)
我如何实现结合这两个功能的安装,包依赖性和桌面应用程序集成?
JDKPackager
与其他插件存在一种平行世界,因为它试图将标准 sbt-native-packager
键(和一些附加键)转换为 Oracle Java 8 javapackager
工具接受,将所有 "hard" 工作委托给外部工具。它通过 JDK 随附的一组 Ant 任务执行此操作,这些任务通过 target/jdkpackager
目录中创建的 build.xml
文件调用。
在 LinuxPlugin
方面,它们更多地是从头开始构建的,可能考虑了服务器类型的应用程序。
虽然 Oracle 继续向 javapackger
系统添加新功能,但它的文档通常参差不齐且不完整(截至撰写本文时),因此可能存在一些可能但未通过 [公开的功能=11=]键。如果您在 Oracle Ant 任务中发现可以帮助您实现最终目标的内容,请毫不犹豫地向该项目提交问题或 PR。公开针对 Ant 任务参数的附加设置通常是一个简单的过程。
您可能还会发现,通过 javapackager
"drop-in resources" 工具,您可以覆盖生成的 .deb
定义文件的某些部分。也就是说,我只在 MacOS 和 Windows 上使用过它(它可以工作,但有点繁琐),并且不知道通过 .deb
和 .rpm
暴露的确切内容管道。
我正在尝试了解这两种安装程序之间的区别。理想情况下,我希望能够 not 捆绑 Java 但具有(因为它应该在 Debian 上)包依赖性。这适用于 Debian plugin:
enablePlugins(DebianPlugin)
debianPackageDependencies in Debian += "java6-runtime"
理想情况下,我希望为我的桌面管理器(例如 Gnome)、处理图标、启动和 jvm 选项以及文件关联提供一个 .desktop
条目。这由 JDKPackager plugin:
enablePlugins(JDKPackagerPlugin)
jdkAppIcon := ...
jdkPackagerJVMArgs := Seq("-Xmx1g")
jdkPackagerAssociations += FileAssociation(
"foobar", "application/foobar", "Foobar file type", myIcon)
我如何实现结合这两个功能的安装,包依赖性和桌面应用程序集成?
JDKPackager
与其他插件存在一种平行世界,因为它试图将标准 sbt-native-packager
键(和一些附加键)转换为 Oracle Java 8 javapackager
工具接受,将所有 "hard" 工作委托给外部工具。它通过 JDK 随附的一组 Ant 任务执行此操作,这些任务通过 target/jdkpackager
目录中创建的 build.xml
文件调用。
在 LinuxPlugin
方面,它们更多地是从头开始构建的,可能考虑了服务器类型的应用程序。
虽然 Oracle 继续向 javapackger
系统添加新功能,但它的文档通常参差不齐且不完整(截至撰写本文时),因此可能存在一些可能但未通过 [公开的功能=11=]键。如果您在 Oracle Ant 任务中发现可以帮助您实现最终目标的内容,请毫不犹豫地向该项目提交问题或 PR。公开针对 Ant 任务参数的附加设置通常是一个简单的过程。
您可能还会发现,通过 javapackager
"drop-in resources" 工具,您可以覆盖生成的 .deb
定义文件的某些部分。也就是说,我只在 MacOS 和 Windows 上使用过它(它可以工作,但有点繁琐),并且不知道通过 .deb
和 .rpm
暴露的确切内容管道。