Java Geckodriver在从IDE运行时工作正常,但在从可执行jar运行时抛出异常
我使用selenium通过firefox下载文件。当我从IDE(eclipse)运行时,一切正常,但当我提取一个可执行jar时,我得到以下异常:Java Geckodriver在从IDE运行时工作正常,但在从可执行jar运行时抛出异常,java,selenium,geckodriver,selenium-firefoxdriver,Java,Selenium,Geckodriver,Selenium Firefoxdriver,我使用selenium通过firefox下载文件。当我从IDE(eclipse)运行时,一切正常,但当我提取一个可执行jar时,我得到以下异常: Exception in thread "main" org.openqa.selenium.WebDriverException: Build info: version: 'unknown', revision: 'f148142cf8', time: '2019-07-01T21:24:57' System info: host: '28
Exception in thread "main" org.openqa.selenium.WebDriverException: Build info: version: 'unknown', revision: 'f148142cf8', time: '2019-07-01T21:24:57'
System info: host: '28LJQV2', ip: '192.168.5.40', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_221'
Driver info: driver.version: FirefoxDriver
at java.util.Optional.orElseThrow(Unknown Source)
at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:179)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:154)
private void initSelenium() {
System.setProperty("webdriver.gecko.driver", Config.getInstance().getFIREFOX_DRIVER_PATH());
}
private WebDriver createFirefoxDriverWithDownloadFolder(String downloadFolder) {
FirefoxProfile profile = new FirefoxProfile();
FirefoxOptions options = new FirefoxOptions();
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.dir", downloadFolder);
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.helperApps.neverAsk.openFile", "application/x-msdownload");
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/x-msdownload, application/zip");
options.setProfile(profile);
WebDriver driver = new FirefoxDriver(options);
return driver;
}
线程“main”org.openqa.selenium.WebDriverException中的异常:构建信息:版本:“未知”,版本:“f148142cf8”,时间:“2019-07-01T21:24:57”
系统信息:主机:'28LJQV2',ip:'192.168.5.40',os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'1.8.0_221'
驱动程序信息:Driver.version:FirefoxDriver
位于java.util.Optional.orelsetrow(未知源)
位于org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:179)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:154)
私有void initSelenium(){
setProperty(“webdriver.gecko.driver”,Config.getInstance().getFIREFOX_driver_PATH());
}
私有WebDriver createFirefoxDriverWithDownloadFolder(字符串下载文件夹){
FirefoxProfile profile=新的FirefoxProfile();
FirefoxOptions=新的FirefoxOptions();
profile.setPreference(“browser.download.folderList”,2);
setPreference(“browser.download.dir”,downloadFolder);
profile.setPreference(“browser.download.manager.showWhenStarting”,false);
profile.setPreference(“browser.helperApps.neverAsk.openFile”,“application/x-msdownload”);
profile.setPreference(“browser.helperApps.neverAsk.saveToDisk”,“application/x-msdownload,application/zip”);
选项。设置配置文件(配置文件);
WebDriver=newfirefoxdriver(选项);
返回驱动器;
}
在属性文件中:
FIREFOX\u DRIVER\u PATH=C:\geckodriver.exe通过使用“将所需库打包到生成的jar”而不是“将所需库提取到生成的jar”提取可运行jar来解决问题。通过使用“将所需库打包到生成的jar”而不是“将所需库提取到生成的jar”提取可运行jar来解决问题配置代码?听起来像是第一次运行的错误。追踪以下内容:“Config.getInstance().getFIREFOX\u DRIVER\u PATH()”谢谢。通过使用“将所需库打包到生成的jar”而不是“将所需库提取到生成的jar”配置代码来提取可运行的jar解决了这个问题?听起来像是第一次运行的错误。追踪以下内容:“Config.getInstance().getFIREFOX\u DRIVER\u PATH()”谢谢。通过使用“将所需库打包到生成的jar中”而不是“将所需库提取到生成的jar中”来提取可运行的jar,解决了这个问题。我面临同样的问题。有没有关于使用“mvn软件包”进行打包的想法?我也面临同样的问题。有没有关于使用“mvn包”进行打包的想法?