我可以指出.deb包依赖于Java,但没有指定实现(例如OpenJDK,IcedTea,Oracle)吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了我可以指出.deb包依赖于Java,但没有指定实现(例如OpenJDK,IcedTea,Oracle)吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1422字,纯文字阅读大概需要3分钟。
内容图文
我有一个包含应用程序的.deb包,它需要Java才能运行.但是,我不关心他们安装了哪个实现(例如OpenJDK,IcedTea,Oracle),并且我不想强迫用户下载另一个实现,如果他们已经安装了一个.我还想处理没有安装任何实现的用户的情况.
有没有办法可以表明.deb包需要任何Java实现?如果是这样,我如何处理它们没有安装任何实现?
解决方法:
指示.deb包需要Java运行时环境(JVM,而不是JDK)的标准方法是指定对default-jre或default-jre-headless的依赖(前者用于具有GUI的程序,后者如果没有GUI是必要的),在适当版本的java-runtime上有替代依赖(java6-runtime如果你的应用程序使用Java 6或更高版本,java7-runtime用于Java 7或更高版本等):
Depends: default-jre | java6-runtime
要么
Depends: default-jre-headless | java6-runtime-headless
等等
这将处理所有Debian提供的JRE(或Debian衍生产品)和Oracle JRE(如果它们是使用java-package处理的). default-jre取决于默认的JRE(OpenJDK 7 for Debian 8,OpenJDK 8 for Debian 9,OpenJDK 11 for Debian 10),因此如果没有安装其他JRE,则可确保安装JRE.各种JRE包根据其支持级别提供java运行时变体,因此取决于这意味着将使用任何现有的兼容JRE(适当打包),而不是强制用户安装另一个JRE.
如果你真的想支持任何已安装的JRE,包括手动安装的,未打包的Oracle JRE,你只能在包的“推荐”节中使用上面的内容,然后尝试从你的启动脚本运行java.理想情况下,您应该在安装时检查是否存在JRE(在postinst中,但如果没有找到JRE则确保安装失败),以及何时需要运行java – 如果您的软件包包含,则可能会很复杂一个initscript或systemd单元之类的东西(在某种意义上很复杂,如何通知管理员出现问题并不明显,你可以肯定会注意到并理解它).
内容总结
以上是互联网集市为您收集整理的我可以指出.deb包依赖于Java,但没有指定实现(例如OpenJDK,IcedTea,Oracle)吗?全部内容,希望文章能够帮你解决我可以指出.deb包依赖于Java,但没有指定实现(例如OpenJDK,IcedTea,Oracle)吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。