【问题标题】:Correctly distributing a Java Desktop Application正确分发 Java 桌面应用程序
【发布时间】:2011-05-28 01:44:12
【问题描述】:

我想分发一个我写到一半的程序,但我无法弄清楚一些事情......

  1. 需要检查最新的 JRE 并检查我的应用程序的更新/补丁(jnlp?)

  2. 该程序将有一个或两个内置加密,所以我需要以某种方式将它包装在一个 .exe 外壳中也许..? (NSIS?)如何锁定我的代码?

  3. 1234563 /p>

我觉得能够使用 Java 做一些事情来分发具有这些先决条件的应用程序是一个很大的跳跃,我希望您能分享任何建议或智慧。

【问题讨论】:

  • Java WebStart 不应该帮助解决大多数这些问题吗?
  • 如果我错了,请纠正我,但 JNLP 似乎没有为我提供任何方法来更改咖啡杯中的 .jnlp 图标。我很想将 JNLP 与其他一些程序一起使用,这些程序会给我的桌面应用程序带来更专业的感觉,比如安装到程序文件、.exe 的自定义图标。如果我可以将 JNLP 与可以完成这些任务的其他程序一起使用,我会被设置...建议?

标签: java desktop-application distribution


【解决方案1】:

您可以使用exe4j 等第三方工具构建可执行文件。它将检查 Java 的兼容版本,并支持捆绑的 JRE。签名和验证 jar 文件的概述是 here。你也可以选择obfuscate你的代码来保护它不被窥探。

要使用 Java SE 将用户设置存储在文件中,您可以通过系统属性“user.home”获取用户的主目录。或者,您可以使用 Java Preferences API 存储用户设置;在 Windows 上,它存储在注册表中。

我猜你正在使用 Swing。但如果您碰巧使用的是 Eclipse 富客户端平台:

  • RCP 有自己的首选项 API 用于存储用户设置。
  • RCP 的供应系统 p2 支持应用程序内组件的配置管理和更新。

【讨论】:

  • 所以请原谅我的无知......我做这些事情的顺序是什么?所以我通过Eclipse RCP完成应用程序,混淆它,然后用exe4j包装它?你会怎么做?
  • 如果您在 SWT/JFace/RCP 而不是 Swing 上构建应用程序,您可以在 Eclipse IDE 中创建和运行产品构建,这会产生可执行文件,从而不需要像 exe4j 这样的东西。否则,您可能会混淆您的 Java 代码内部,然后使用 exe4j 等创建可执行文件。
猜你喜欢
  • 2011-09-17
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 2010-12-17
  • 1970-01-01
相关资源
最近更新 更多