我必须创建具有符合以下特征的Java应用程序jar
:创建一个运行一次只-Java应用程序
- 有装在罐子里的XML数据被读取的应用程序第一次开始。随着应用程序的每次连续启动,数据都从动态创建的二进制文件中加载。
- 客户不应该能够将应用程序重置为其主要状态(例如,如果由于某种原因二进制文件被删除,应用程序将无法再次运行并给出错误消息)。
- 这一切不应该依赖于它运行(这意味着如在Windows中设置注册表项不会做的工作)
总结我想,以防止一旦开始申请重置操作系统以限制应用程序的非法复用。
现在我就如何实现这一目标的想法:
- 在第一次运行中删除从罐子XML(到目前为止我才恍然大悟,这是不可能的,让应用程序编辑它自己罐子。是真的吗?)
- 设置一个变量/属性/设置/不管在第一次运行永久罐子(是可能的)
任何建议/关于如何实现这一目标的想法?
更新:
我没有找到这个确切的问题的解决方案,但我发现一个简单的解决方法:用我的软件一起我船某个特定文件的程序启动第一次后得到改变。当然,如果有人保留原始文件的副本,他总是可以替换它并重新开始。
没有完美的解决方案。在每次运行之前,总有人可以保存备份并从备份中恢复。 – raptortech97 2013-03-25 16:29:43
我知道没有完美的解决方案,但我想让它更难一点。我也知道,在运行一次之前复制jar会使整件事变得毫无意义。但它会很好,以防止已经运行的jar被重置 – gagabu 2013-03-25 16:35:33