J'ai une application javafx qui fonctionnait correctement avec proguard.DIfficulté dans l'application javafx de proguard
Cependant, après avoir ajouté Xérial-sqlite à ma demande, proguard fonctionne toujours très bien que je rencontre cependant l'erreur suivante lors de l'exécution en utilisant la java jar program.jar commande:
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)
instanciation du sqlite connexion:
protected SQLiteDataSource() {
connection = null;
try {
connection = DriverManager.getConnection("jdbc:sqlite:merchant.db");
this.createTable();
} catch (SQLException e) {
logger.error(e.getLocalizedMessage());
e.printStackTrace();
}
}
J'ai vraiment besoin de pouvoir exécuter cette version sqlite de mon application. Comment puis-je le résoudre?
Non, j'utilise [cette bibliothèque] (https://github.com/xerial/sqlite-jdbc) ici. Lors de l'ajout du fichier jlbc jar sqlite dans le même dossier, il semble fonctionner. Puisque la bibliothèque gère le 'Class.forName (" org.sqlite.JDBC ");' je n'ai pas fait un tel appel. Il n'a pas été chargé de manière personnalisée non plus (à part le fait que j'utilise maven, si ça aide). Je pourrais sembler inexpérimenté et je le suis. Pouvez-vous suggérer comment résoudre ces problèmes? – sbs