我有一个java类,它使用bat文件来执行命令.但是我在Eclipse IDE中开发了它.它在那里工作正常.但是当我将它导出到jar文件中时,它无法找到包含的bat文件.(给我一个IOException)
eclipse中的文件结构如下:
Project1
---->src
------>com.myproj
-------->BatFileRead.java
----md.bat
----ul.bat
Run Code Online (Sandbox Code Playgroud)
md.bat和ul.bat与src目录的级别相同.震撼之后,src文件夹消失了.
有人可以帮我这个吗?谢谢
为了执行命令,您必须在之后提取bat文件.您无法运行jar文件中的可执行文件.基本上,您需要将jar文件中的批处理文件条目作为输入流打开,并将数据复制到FileOutputStream磁盘上.在文件系统上的适当独立文件之前,您将无法执行它.
如果您已经尝试提取它,那么您可能正在使用getResource或getResourceAsStream稍微错误.这很容易做到,因为这取决于你是在打电话ClassLoader.getResourceAsStream还是打电话Class.getResourceAsStream.第一个只使用绝对路径(隐式),第二个可以使用绝对路径或相对路径.例如,在您的情况下,您需要:
BatFileRead.class.getResourceAsStream("/md.bat")
Run Code Online (Sandbox Code Playgroud)
要么
BatFileRead.class.getClassLoader().getResourceAsStream("md.bat")
Run Code Online (Sandbox Code Playgroud)
你有没有检查过bat文件肯定会在jar文件中结束?只需列出内容即可
jar tvf file.jar
Run Code Online (Sandbox Code Playgroud)
看看那里有什么.
| 归档时间: |
|
| 查看次数: |
2623 次 |
| 最近记录: |