Playframework 2.5:无法在阶段模式下访问 SQLite 数据库文件

Playframework 2.5 : unable to access SQLite db file in stage mode

我的数据库配置有一个 application.conf 文件:db.default.url = "jdbc:sqlite:public/db/mydatabase.db"。这在开发模式下工作正常。 当我尝试在生产中部署时,在完成 ./activator clean compile stage./activator start 之后,应用程序尝试在 30 秒内连接到数据库并最终退出并出现异常:

java.sql.SQLException: path to 'public/db/mydatabase.db': '/path/to/app/target/universal/stage/public' does not exist

我试图用特定的 prod.conf 指定绝对路径,包括 application.conf 并覆盖 db.default.url。我还尝试从命令行参数 (-Ddb.default.url="jdbc:sqlite:public/db/mydatabase.db") 开始,输出始终相同。 我该如何解决这个问题?

编辑:prod.conf 配置似乎没有覆盖 application.conf 语句...当我直接更改具有生产特定属性的 application.conf 文件时,它起作用了。

Play 不打包 stage/dist 任务中的资产。在生产中,资产位于启动应用程序时加载的 jar 中,而不是在文件系统中(即 "public" 文件夹)。所以你不能那样加载它。

将您的 SQLite 文件移动到 conf 目录并更改 db.default.url 行以匹配新路径。