0
私はproguardで正常に動作していたjavafxアプリケーションを持っています。javafxアプリケーションを保護するための専門家
しかし、私のアプリケーションにxerial-sqliteのを追加した後、ProGuardのはまだのjava -jar program.jarのコマンドを使用して実行している間、私は次のようなエラーが発生したが正常に動作します:sqliteのの
18:31:42,161 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [dailyRollingFileAppender] to Logger[ROOT]
18:31:42,161 |-INFO in k.a - End of configuration.
18:31:42,161 |-INFO in [email protected] - Registering current configuration as safe fallback point
2017-Aug-13 18:31:42.287 [JavaFX Application Thread] ERROR B.c - No suitable driver found for jdbc:sqlite:merchant.db
java.sql.SQLException: No suitable driver found for jdbc:sqlite:merchant.db
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at B.e.<init>(SQLiteDataSource.java:52)
at B.e.a(SQLiteDataSource.java:61)
at com.datasoft.pay365.merchant.MainApp.start(MainApp.java:94)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$49(GtkApplication.java:139)
at java.lang.Thread.run(Thread.java:748)
インスタンスを接続:
protected SQLiteDataSource() {
connection = null;
try {
connection = DriverManager.getConnection("jdbc:sqlite:merchant.db");
this.createTable();
} catch (SQLException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
}
}
私のアプリケーションのこのsqliteバージョンを実行するには、本当に必要があります。どのように私はそれを解決するのですか?
いいえ、私は[このライブラリ](https://github.com/xerial/sqlite-jdbc)を使っています。 sqlite jdbc jarファイルを同じフォルダに追加すると、実行されているようです。ライブラリは 'Class.forName(" org.sqlite.JDBC ");' を管理しているので、私はそのような呼び出しをしませんでした。それはカスタムでロードされていません(私がmavenを使用しているという事実を別にすれば、それは役に立ちます)。 私は経験の浅いと聞こえるかもしれません。あなたはそのような問題を解決する方法を提案できますか? – sbs