.我使用Eclipse创建了一个可运行的Jar。Jar中存在IEDriverServer.exe。我将IEDriverServer.exe视为项目的资源。
下面的代码行
System.setProperty("webdriver.ie.driver", "C:/Folder1/RunnableJar.jar/IEDriverServer.exe");
抛出CCD_ 1。
我已经将IEDriverServer.exe放在项目的bin文件夹中。我正在使用下面的代码行来获取bin文件夹中存在的IEDriver的路径。
MainClassName.class.getProtectionDomain().getCodeSource()
.getLocation().getPath() + "/IEDriverServer.exe";
如果我正在运行Eclipse中的代码,那么路径就是bin文件夹中IEDriverServer的路径。如果我将项目导出为可运行的Jar,那么路径如下所示
C:/Folder1/RunnableJar.jar/IEDriverServer.exe
如果我在日食中运行它,它运行得很好。
如果我将其作为jar运行,它将抛出异常。
我想知道在Runnable jar中设置IEDriverServer.exe属性的方法
您不能直接从jar运行exe文件。您只能编写一个方法,将exe提取到一个临时文件夹中,然后将System.setProperty
设置为该路径值。
你可以在那里找到一些代码示例
似乎没有办法在Windows平台上直接从Jar运行exe。
正如其中一个答案中所提到的,最好的方法是将exe从jar中提取到一个临时目录,并将属性路径设置到该目录。
以下链接可能会帮助其他人解决同样的问题。
Link1
Link2
Link3