如何启动需要提升特权的.jar?

我有一个小的.jar执行一个简单的系统pipe理任务,所以它需要与提升的特权运行。 我已经研究了几个小时,现在知道可以通过三种方式完成:1)从提升的cmd提示符运行2)将.jar转换为.exe并将其与一个清单文件捆绑在一起3)使用另一个.jar启动我的.jar并请求权限。

选项1)不适用于我,因为这将需要部署给其他用户,不知道如何做到这一点。 选项2)是不理想的,因为我select用Java编写这个应用程序的可移植性。 这可能会在不同的系统上运行,Java似乎是最兼容的。 所以这留下选项3),是我的问题进来的地方。我似乎无法筛选大量的信息在那里如何完成创build我的应用程序的包装。 记住我的规格你们都build议创build一个包装器.jar,它将提示用户允许我的.jar运行? 谢谢

在Windows上,可以将Java应用程序作为桌面应用程序运行,也可以在后台运行Windows服务。 在服务的情况下,包装需要能够被安装,移除,启动,停止,查询其状态等等。取决于应用程序是否具有GUI或者是否要在命令窗口中运行也决定它将如何运行。

在Windows系统上,启动Wrapper的最多方式是使用专用的批处理文件来执行每个控制Wrapper的操作。 这使最终用户可以双击批处理文件图标或在菜单中设置链接,只要看看是否有java运行时环境。

不错的教程: http : //wrapper.tanukisoftware.com/doc/english/qna-service.html

这里有一些其他的可能性,使用专用的批处理文件,基于命令的批处理文件或独立的二进制文件: http : //wrapper.tanukisoftware.com/doc/english/launch-win.html#dedicated

认为你可以用.bat文件做到这一点。 确保你有java运行时环境,这样你可以使用java -jar命令来执行jar文件。

如果您希望强制用户使用提升的权限,那么纯Java将不会削减它。 我建议你编写本地代码并使用Java本地接口(JNI)