2

我正在尝试为 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。

4

1 回答 1

0

检查名为“user.dir”的 JVM 系统属性并设置相对于它的路径。它是您的 java 应用程序的“当前目录”。如果您从 eclipse 或从 cmd 行或在 webserver(tomcat) 内部运行,它可能会有所不同。

因此,System.getPropery("user.dir") 将告诉您正在运行的应用程序的当前目录。设置 db 相对于该目录的路径。

我会说 Eclipse 不会从项目目录运行您的应用程序,因为它应该默认。检查 Eclipse 中的“运行”设置。

于 2016-01-15T14:38:31.587 回答