我正在尝试为 Spring Web App 配置 SQLite 数据库。问题是我无法使用相对路径访问我在 src/main/resources 中创建的数据库文件。
我已经为 jdbc url 尝试了几种配置,但都没有工作:
jdbc:sqlite:mydb.sqlite (here I changed the file location to the project root)
jdbc:sqlite:${jdbc.url} (here I passed the url as a parameter thru PropertyPlaceholderConfigurer)
jdbc:sqlite:src/main/resources/mydb.sqlite
我意识到的一件奇怪的事情是,该应用程序使用 Eclipse 的目录作为查找数据库文件的目录。我的意思是,当我输入
jdbc:sqlite:mydb.sqlite
它在 Eclipse 的目录而不是项目的根目录中创建一个 mydb.sqlite。
最佳答案
检查名为“user.dir”的 JVM 系统属性并设置相对于它的路径。它是您的 java 应用程序的“当前目录”。如果您从 eclipse 或从 cmd 行或在 webserver(tomcat) 内部运行,它可能会有所不同。
因此,System.getPropery("user.dir") 将告诉您正在运行的应用程序的当前目录。设置 db 相对于该目录的路径。
我会说 Eclipse 不会从项目目录运行您的应用程序,因为它应该默认。检查 Eclipse 中的“运行”设置。
关于spring - 如何为 SQLite 配置相关数据源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17168218/