繁体   English   中英

如何从另一个程序启动Jar文件?

[英]How Do I Launch A Jar File From Another Program?

我在制作游戏时遇到问题,问题是我希望它能够更新而无需到网站下载新版本,并且您需要登录(价格约为3美元)才能玩。 问题是除非您通过游戏启动器运行该jar,否则我希望该jar无法运行。 我想要它,以便它检查更新并使用登录会话。

我还希望能够在构建游戏时调试游戏,然后设置jar,以便在不启动启动器并登录然后单击按钮以启动游戏的情况下无法运行它,但我不知道怎么做游戏jar只能以启动器启动,并且启动器会将登录会话发送到jar,以便它知道用户名并且知道游戏没有被盗?

快速简便的方法(但可能不是最好的方法):

您可以简单地将会话数据保存在数据库或加密文件中。 启动器退出时,它还应该从数据库中销毁会话

运行jar文件时,它将从数据库中读取数据,如果在其中找不到活动的会话,则会中止。

您还可以通过使jar接收某种必须满足某些条件的随机加密密钥来防止jar从程序外部运行(即使启动器已经在后台运行)(也可以在此处使用数据库) )。 然后,用户将必须知道密钥才能手动启动它

您可以使用ProcessBuilder并启动新的JVM。

可能是这样的:

ProcessBuilder pb = new ProcessBuilder("/path/to/java", "-jar", "your.jar");
pb.directory(new File("preferred/working/directory"));
Process p = pb.start();

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM