gpt4 book ai didi

java - Java软件的精简版

转载 作者:行者123 更新时间:2023-11-30 09:58:03 25 4
gpt4 key购买 nike

我们的软件目前有很多功能。我被要求制作一个免费试用版,其中包含完整软件的轻量级版本。试用版中只有少数特定功能可用。由于 jar 文件未加密,我不愿意发布带有硬编码限制的完整版本。我希望能够拥有 2 个 jar :1 个包含基本功能,1 个包含高级功能。

功能在不同的菜单中。如果代码会尝试在启动时加载具有额外功能的 jar 并在非付费用户选择高级菜单时显示一条消息(例如:此功能在试用版中不可用),那就太好了。另一方面,有权访问高级功能 jar 的付费用户不会知道其中的区别(我说的是现在 1 个 jar 和新方法 2 个单独的 jar 之间的区别)。

  • 关于如何进行的任何提示?
  • 关于要避免的常见错误的任何警告?
  • 还有比单独的 jar 更好的策略吗?

编辑:迄今为止最好的建议描述了如何做我的残障软件,但也警告我不要做残障软件。那我该怎么办?

最佳答案

正如您提到的,您可能有 2 个 jar :

1 具有基本功能和高级功能的 stub 。1 具有实际的高级功能。

您可以使用带有配置设置的工厂类来确定是创建 stub 类还是实际类 - 例如“FancyFeatureClass”或“FancyFeatureClassStub”。 “FancyFeatureClassStub”将包含在“精简版”分发版中,但“FancyFeatureClass”只会包含在高级功能 jar 中。

如果他们试图更改配置设置以在没有包含真实类的 jar 的情况下创建真实类,他们最终只会收到类未找到错误。

升级时,将高级功能 jar 添加到类路径并更改配置设置以告知工厂类创建真实的类而不是 stub 。假设您的应用可以这样拆分,它应该可以正常工作。

至于常见的错误——我想你已经犯过一个了——不过可能不是你的错:)

“Crippleware”是一种糟糕的产品评估方式。发布功能完备且带有过期或烦人屏幕的版本比发布残缺产品更好。没有这些高级功能可能会让人难以真正评估产品。

关于java - Java软件的精简版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1268532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com