我正在从java程序执行批处理文件。 当我从eclipse执行时它工作正常,但当我使它成为一个可运行的jar时,它无法找到批处理文件的路径
我将批处理文件保存为源目录中的资源。 当我使用Class.getResource(“/ resource / mybat.bat”)打印资源的路径时,它正确地给出了路径
如果我解压缩jar,则存在resources文件夹。
然而,当我尝试运行jar时,它为批处理文件提供了“系统无法找到指定路径的错误”
我已经浏览了大部分链接并尝试了不同的选项,但没有任何运气。 我只需要一种方法来正确创建可运行的jar。请帮助..
答案 0 :(得分:1)
虽然Java可以读取JAR并将它们视为普通文件系统,但大多数其他应用程序却不能。在这种情况下,cmd
不能。您必须将批次提取到临时位置并从那里运行。
答案 1 :(得分:0)
如果我理解正确你在jar中有这个批处理文件,它应该在类路径上可用(检查META-INF清单文件)。
在您拥有可用资源后,如果是批处理文件,您可以通过ClassLoader访问它。在你的类中应该触发批处理文件的内容如下:
this.getClass().getClassLoader().getResource(name)