如何为 Spring Boot 应用程序外部化 data.sql
Posted
技术标签:
【中文标题】如何为 Spring Boot 应用程序外部化 data.sql【英文标题】:How to externalise data.sql for a spring boot app 【发布时间】:2018-01-18 16:07:26 【问题描述】:如果我想用 spring boot 初始化我的 H2 数据库,我总是在我的资源文件夹中使用 data.sql 文件。
现在我需要使用 H2 数据库,还需要外部化 data.sql 以便在有任何更改时更新此文件。
我不想安装 mysql 或其他数据库,因为它是一个非常小的服务,包含几个数据库项,并且有时可能会重新启动此服务。
所以我的文件夹中有以下两个文件:我的 Spring Boot 应用程序的 uber jar 文件(嵌入了 Tomcat)和 data .sql 文件。
我如何才能像外部化 application.properties 的配置一样外部化 data.sql?
【问题讨论】:
【参考方案1】:运行jar的时候把它放到classpath中怎么样?
java -jar uber.jar -classpath "PATH_TO_YOUR_SQL_FILE"
【讨论】:
如果我的 data.sql 在 uber jar 的同一个文件夹中是:-classpath "data.sql"? 是的。再想一想,我不知道它是否会起作用,因为也许“-classpath”会覆盖 jar 在他的清单文件中声明的类路径。请让我知道它是否有效 谢谢,它不起作用。我正在尝试寻找新的解决方案。仍然无法将 data.sql 外部化似乎很奇怪。以上是关于如何为 Spring Boot 应用程序外部化 data.sql的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat 中 Spring Boot War 文件的外部化配置
如何为 Spring Boot 应用程序的 gradle 构建设置活动配置文件?
如何为具有 Spring Security 配置的 Spring Boot API 编写单元测试