3

我正在尝试将 SQLite 与 Play Framework 2.1 一起使用,但我需要使用相对于 Play 应用程序根目录的相对路径。我该怎么做?

这是application.conf中的相关代码

db.default.driver=org.sqlite.JDBC
db.default.url="jdbc:sqlite:/I/want/relative/path/"

非常感谢。

4

1 回答 1

2

如果您想在 Play 应用程序的根目录中创建数据库,您应该执行以下操作:

db.default.url="jdbc:sqlite:sqlite_test.db"

我认为如果你想在文件夹中使用 make database <PlayAppRootDirectory>/database/db_name.db,你应该在配置值中提供完整的绝对路径。

作为替代方案,您可以定义 Play 应用程序根目录的环境变量并将其值用于application.conf.

Play!Framework 2.x 使用HOCON格式(Human-Optimized Config Object Notation)作为配置文件的语法。

如果您想使用 Play!Framework 根文件夹作为数据库的路径,您应该执行以下操作:

db.default.driver=org.sqlite.JDBC
# The following line use HOCON format
db { default.url : "jdbc:sqlite:"${PLAY_APPS_ROOT}"/database/db_name.db" }

上面的配置值使用 HOCON 语法。请注意,这${PLAY_APPS_ROOT}Play!Framework 应用程序根文件夹的环境变量。数据库路径实际上是绝对路径,因为您必须在完整的绝对路径中定义数据库路径。您可以阅读以下资源以供参考:

  1. 类型安全配置
  2. 播放文档 - 配置
于 2013-04-02T09:19:35.123 回答