托管Java Web Start应用程序以包含在Linux发行版中

托管Java Web Start应用程序以包含在Linux发行版中,java,linux,hosting,packaging,jnlp,Java,Linux,Hosting,Packaging,Jnlp,我编写了一个Java免费软件(封闭源代码)产品,部署在web主机上,并通过JNLP(包括Linux客户端)分发 如果可能的话,我计划建议将此产品包含在几个Linux发行版中,即“原样”(基于JNLP) 我已经可以联系发行版了吗,或者我需要重新配置一些东西(部署在另一台主机上,将JNLP转换成其他东西,等等)?你有什么经验?一般来说,Linux发行版对无法集成到发行计划中的东西不太感兴趣。因为JNLP允许您随时部署新版本,所以他们不能在发布之前进行版本冻结。这将把你排除在大多数发行版之外——Deb

我编写了一个Java免费软件(封闭源代码)产品,部署在web主机上,并通过JNLP(包括Linux客户端)分发

如果可能的话,我计划建议将此产品包含在几个Linux发行版中,即“原样”(基于JNLP)


我已经可以联系发行版了吗,或者我需要重新配置一些东西(部署在另一台主机上,将JNLP转换成其他东西,等等)?你有什么经验?

一般来说,Linux发行版对无法集成到发行计划中的东西不太感兴趣。因为JNLP允许您随时部署新版本,所以他们不能在发布之前进行版本冻结。这将把你排除在大多数发行版之外——Debian甚至因为这个原因删除了Adobe的flash插件,如果他们要删除flash,不要指望他们会为一个不太知名的应用程序破例

如果您愿意将其作为一个普通的.jar分发,那么您可能可以将其放入其中——对于debian,您需要阅读和了解如何打包(意图打包),然后在上寻求赞助。有关更多信息,请访问。提交给Debian的软件包也将在适当的时候进入Ubuntu


当然,其他发行版将有不同的政策;如果有疑问,请查看他们的常见问题,或询问相关发行版的相应邮件列表。

Java程序往往很难打包和维护。因此,指南因发行版而异。因此,您应该首先了解一些流行发行版的具体指南。

除此之外,从包管理器独立地更新自己的所有东西对包的用户和维护者来说都是真正的痛苦,所以你应该考虑在Linux DistROS中包含一个不同的分发模型。

< P>我会说一个免费的JNLP应用程序与Linux发行版的情况正好相反。倾向于包括

首先,JNLP不会与本机包管理解决方案一起工作。如果您希望将应用程序包含在发行版中,则需要以本机格式进行打包,并以标准方式进行更新

其次,大多数发行版都支持开源软件包,许多发行版的默认存储库中不包含非开源软件包。某些发行版可能有特定的非免费存储库。在OpenJDK之前,您可能连Java本身都不在这些存储库中


在我看来,您最好尝试自己建立一个用户基础,因为这样您就可以完全控制发布等。

找到一种方法,在您希望包含软件的每个平台上正确地打包它,并为严格的软件管理做好准备(冻结、多版本等,如果您希望在标准安装中包含代码

否则,您可以创建一个简单的包,其中只包含指向JNLP页面的链接,该链接可能包含在非核心部分中。值得一试


我们谈论的是什么应用程序?

个人组织者:待办事项列表、提醒、计划、联系人、研究链接等-您可以在www.golden-rules.org上找到更多信息。我喜欢非核心包含选项,并链接到我的页面-将其作为首选。因为我的产品包括许多第三方JAR(Apache和LGPL许可证),我不确定我是否可以合法地将它打包到一个jar中。它不需要是一个单jar,但它需要是自包含的,在运行时不下载主要组件。我不是下载者,但我相信单包Java程序并不比任何其他程序更难打包和维护。许多打包者不确定放在哪里要么是shell脚本,要么是概要文件。有时你甚至可以看到JDK安装在/opt或/usr/share中。有时两个地方的版本不同。这扩展到了更简单的程序。困难不在于技术,而是需要包装商做出更多的决定。