Java:以管理员身份运行时无法访问jar文件

8

我有一个名为test.jar的jar文件,我正在使用同一文件夹中的批处理脚本运行它。 以下是批处理代码:

java -jar test.jar
pause

这个jar文件本身没有问题,我可以很好地运行它。 然而,如果我尝试以管理员身份运行批处理文件(通过右键单击并选择“以管理员身份运行”),我会收到以下错误:

Error: Unable to access jarfile test.jar

我正在使用Windows 8.1,但在运行Windows 7的计算机上也出现了这种情况。我应该如何以管理员身份运行此程序?


这可能是由于用户账户控制(UAC)引起的。请查看此链接此链接 - Infinite Recursion
请右键单击它并选择“以管理员身份运行”来运行 --> 这里的“右键单击它”是指您的jar文件吗?您是通过右键单击并以管理员身份运行您的jar文件,还是运行批处理文件? - AJJ
@Jayaprasad 我的意思是以管理员身份运行批处理文件。 - Opalium
@payeli 我的系统中已禁用UAC。 - Opalium
@Opalium,只是为了测试,请尝试以管理员身份运行命令行,并在其中尝试运行批处理文件。结果如何? - prmottajr
1
@prmottajr 我已经这样做了,而且它起作用了。奇怪...我想知道为什么批处理文件不起作用呢? - Opalium
2个回答

5
我遇到了和你一样的问题,我通过更改解决了它。
java -jar test.jar

为了

java -jar %~dp0test.jar

%~dp0表示批处理文件所在的目录(据我所知),因此%~dp0将为Java提供jar文件的完整路径,从而解决了问题。


0

你也可以在Java中添加临时路径

路径=C:\Program Files\Java\jre1.8.0_40\bin Java脚本 路径=


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接