Java 网络驱动程序:我可以';t设置可运行Jar中IEDriverServer.exe的路径

Java 网络驱动程序:我可以';t设置可运行Jar中IEDriverServer.exe的路径,java,path,resources,webdriver,executable-jar,Java,Path,Resources,Webdriver,Executable Jar,.我已经使用Eclipse创建了一个可运行的Jar。Jar中存在IEDriverServer.exe。我将IEDriverServer.exe视为项目的资源 下面的代码行 System.setProperty("webdriver.ie.driver", "C:/Folder1/RunnableJar.jar/IEDriverServer.exe"); 以下路径中不存在驱动程序可执行文件 我已将IEDriverServer.exe放在项目的bin文件夹中。我正在使用下面的代码行获取bin文件夹

.我已经使用Eclipse创建了一个可运行的Jar。Jar中存在IEDriverServer.exe。我将IEDriverServer.exe视为项目的资源

下面的代码行

System.setProperty("webdriver.ie.driver", "C:/Folder1/RunnableJar.jar/IEDriverServer.exe");
以下路径中不存在驱动程序可执行文件

我已将IEDriverServer.exe放在项目的bin文件夹中。我正在使用下面的代码行获取bin文件夹中存在的IEDriver的路径

MainClassName.class.getProtectionDomain().getCodeSource()
                .getLocation().getPath() + "/IEDriverServer.exe";
如果我是从Eclipse运行代码,那么路径就是bin文件夹中存在的IEDriverServer的路径。如果我将项目导出为可运行Jar,那么路径如下所示

C:/Folder1/RunnableJar.jar/IEDriverServer.exe

如果我在eclipse上运行它,它工作得很好

如果我作为jar运行它,它会抛出异常


我想知道如何在可运行jar中设置IEDriverServer.exe属性。

您不能直接从jar运行exe文件。您只能编写将exe提取到临时文件夹的方法,然后将
System.setProperty
设置为该路径值


您可以找到一些代码示例

似乎无法在Windows平台上直接从Jar运行exe

正如其中一个答案中提到的,最好的方法是将exe从jar提取到一个临时目录,并将属性路径设置到该目录

以下链接可能会帮助其他人解决同样的问题


将Exe文件解压缩到一个临时目录并从那里运行…@AKDADEVIL为什么需要解压缩Jar?我只想运行它。然后使用Jar中的IEDriverServer.exe。好吧,如果你找到了一种直接从Windows下的ZIP文件中运行exe文件的方法,请随意解释一下。。。