spring - 如何为 SQLite 配置相关数据源文件?

标签 spring sqlite maven

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

相关文章:

maven - 如何将 Artifact 从一个存储库移动到另一个存储库?

java - 如何在 Hibernate 中使用 @Qualifier

c++ - 为 Windows Mobile 设备编译 SQLite 合并

java - Maven 编译器插件使用自动 java 9 模块失败

java - 是否有适用于 ARM Linux 的 java sqlite3 库?

python - SQLAlchemy + pyTelegramBotAPI : SQLite objects created in a thread can only be used in that same thread

java - Tomcat 无法在 Eclipse 上启动

java - 尝试用模块理解 IntelliJ 的项目结构

java - Spring Boot 中的配置文件位于 jar 文件之外

java - Spring OXM 不适用于 Struts 1