Playframework 2.5:无法在舞台模式下访问SQLite db文件

时间:2016-05-30 09:23:35

标签: java sqlite playframework playframework-2.5

我有一个带有我的数据库配置的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文件时,它可以正常工作。

1 个答案:

答案 0 :(得分:2)

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

将您的SQLite文件移至dist目录并更改conf行以匹配新路径。