una - url relativa java
problema con INIT=RUNSCRIPT y rutas relativas (2)
Puede usar la siguiente url:
"jdbc:h2:mem:sample;INIT=RUNSCRIPT FROM ''classpath:scripts/create.sql''"
Con eso es posible ejecutar script desde classpath. Entonces puede simplemente ponerlo src / main / resources / scripts o src / test / resources / scripts en su proyecto maven (o en otra parte).
Utilizo las convenciones de maven para rutas fuente (src / src / prueba principal) y tengo mis scripts sql en src / main / resources / scripts.
Quiero ejecutar mi aplicación con memoria H2 y me gustaría usar la url jdbc para inicializar mi db:
database.url=jdbc:h2:mem:;INIT=RUNSCRIPT FROM ''src/main/resources/scripts/create.sql'';
Mi problema es que esta ruta relativa (src / main / ...) no funciona, y que H2 no se bloqueará si el comando init = runscript no apunta a nada.
¿Alguien sabe cuál es el camino que debería usar para que esto funcione?
Gracias
Sugiero tratar de usar una ruta absoluta para principiantes, solo para comprobar que todo funciona. Luego, verifica tu classpath. Por ejemplo, bin/main/resources/scripts/create.sql
, suponiendo bin
es donde se compilan sus clases, y está en su classpath.
Como src
, donde vive su fuente, por lo general no está en la ruta de clase, esta podría ser la fuente de su problema.