我有Eclipse RCP应用程序.具有hibernate的JAR位于另一个插件中,该插件包含在主项目中MANIFEST.MF.
我尝试Hibernate -> SQLite使用代码建立简单的连接数据库:
try {
Configuration lConf = new Configuration();
lConf.addAnnotatedClass (eDocument.class);
lConf.setProperty("hibernate.dialect", "app.sqlite.SQLiteDialect");
lConf.setProperty("hibernate.connection.driver_class", "org.sqlite.JDBC");
lConf.setProperty("hibernate.connection.url", "jdbc:sqlite:sfOrders.db");
lConf.setProperty("hibernate.connection.username", "");
lConf.setProperty("hibernate.connection.password", "");
StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().applySettings(lConf.getProperties());
_sessionFactory = lConf.buildSessionFactory(builder.build());
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
Run Code Online (Sandbox Code Playgroud)
我使用自定义SQLiteDialect,我得到错误:
java.lang.ExceptionInInitializerError
at app.sqlite.DatabaseConnector.connect(DatabaseConnector.java:57)
at views.TransactionManagerView$6.widgetSelected(TransactionManagerView.java:144)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at …Run Code Online (Sandbox Code Playgroud) 由于我还不清楚如何使用ChromeDriver中的--headless模式下载文件 - selenium [Java],请在此处添加如何执行此操作的示例,我尝试这样做(文件下载工作正常,没有 - 无头选项):
ChromeOptions lChromeOptions = new ChromeOptions();
HashMap<String, Object> lChromePrefs = new HashMap<String, Object>();
lChromePrefs.put("profile.default_content_settings.popups", 0);
lChromePrefs.put("download.default_directory", _PATH_TO_DOWNLOAD_DIR);
lChromePrefs.put("browser.set_download_behavior", "{ behavior: 'allow' , downloadPath: '"+_PATH_TO_DOWNLOAD_DIR+"'}");
lChromeOptions.addArguments("--headless");
lChromeOptions.addArguments("--disable-gpu");
lChromeOptions.setExperimentalOption("prefs", lChromePrefs);
WebDriver lWebDriver = new ChromeDriver(lChromeOptions);
Run Code Online (Sandbox Code Playgroud)
据我所知,自从Chrome v60 +设置以来Browser.setDownloadBehaviour(true, _DIRECTORY)我无法以无头模式下载文件但我无法找到ChromeDriver是否已经支持它的信息,或者只是我使用错误的chrome首选项作为参数
ChromeDriver版本:2.34 Selenium + WebDriver版本:3.8.1
java selenium google-chrome headless-browser selenium-chromedriver