J'ai un HSQLDB incorporé dans un fat-jar dans le répertoire des ressources du pot. Lorsque mon script tente d'accéder à la base de données, une erreur se produit en l'absence d'un fichier .lck
. Cependant, j'avais l'impression que les fichiers jar de DB seraient toujours accessibles en mode lecture seule.HSQLDB Embedded dans jar jarre
Caused by: org.hsqldb.HsqlException: Database lock acquisition failure: lockFile: [email protected][file =/mnt/c/ctakes/SparkCtakes/jar:file:/mnt/c/ctakes/SparkCtakes/lib/ctakes-assembly-4.0.1.jar!/resources/org/apache/ctakes/dictionary/lookup/fast/sno_rx_16ab/sno_rx_16ab.lck, exists=false, locked=false, valid=false, ] method: openRAF reason: java.io.FileNotFoundException: /mnt/c/ctakes/SparkCtakes/jar:file:/mnt/c/ctakes/SparkCtakes/lib/ctakes-assembly-4.0.1.jar!/resources/org/apache/ctakes/dictionary/lookup/fast/sno_rx_16ab/sno_rx_16ab.lck (No such file or directory)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.LockFile.newLockFileLock(Unknown Source)
at org.hsqldb.persist.Logger.acquireLock(Unknown Source)
at org.hsqldb.persist.Logger.open(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.newSession(Unknown Source)
... 112 more
La façon dont je suis en train de créer cette graisse-pot contenant les ressources de base de données est en plaçant le dossier des ressources dans src/main/scala/resources
puis en utilisant sbt-assembly
pour emballer tout.
Ajouter '= readonly true' à l'URL de connexion. – fredt
Modification de la chaîne en 'jdbc: hsqldb: fichier: ressources/org/apache/ctakes/dictionnaire/recherche/rapide/sno_rx_16ab/sno_rx_16ab; hsqldb.lock_file = false; readonly = true', mais je rencontre toujours la même erreur . – mongolol