我必须创建一个jar
具有以下功能的 java 应用程序:
- jar 中包含 xml 数据,这些数据在应用程序第一次启动时被读取。随着应用程序的每次连续启动,数据都会从动态创建的二进制文件中加载。
- 客户不应该能够将应用程序重置为其主要状态(例如,如果二进制文件由于某种原因被删除,应用程序应该无法再次运行并给出错误消息)。
- 所有这一切都不应该取决于它运行的操作系统(这意味着例如在 Windows 中设置注册表项不会完成这项工作)
总结一下,我想防止重新启动一次启动的应用程序,以限制应用程序的非法重用。
现在谈谈我关于如何实现这一点的想法:
- 在第一次运行时从 jar 中删除 xml(到目前为止,我了解到不可能让应用程序编辑它自己的 jar。这是真的吗?)
- 在第一次运行时永久设置 jar 中的变量/属性/设置/任何内容(是否可能)
关于如何做到这一点的任何建议/想法?
更新:
我没有找到针对这个确切问题的解决方案,但我找到了一个简单的解决方法:连同我的软件一起,我发布了一个特定文件,该文件在程序第一次启动后会被更改。当然,如果有人保留原始文件的副本,他总是可以替换它并重新开始。