从Spring启动jar中排除data.sql

时间:2017-09-07 23:33:04

标签: maven spring-boot spring-data spring-data-jpa

我试图从Spring启动应用程序jar中排除我的data.sql和schema.sql。

到目前为止,我已经尝试了几个选项,但它们似乎没有用。这是我的POM配置。

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <activatedProperties>dev</activatedProperties>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <activatedProperties>prod</activatedProperties>
        </properties>
        <build>
            <resources>
                <resource>
                    <filtering>true</filtering>
                    <directory>src/main/resources</directory>
                    <excludes>
                        <exclude>data.sql</exclude>
                        <exclude>schema.sql</exclude>
                    </excludes>
                </resource>
            </resources>
        </build>
    </profile>
</profiles>

2 个答案:

答案 0 :(得分:0)

Spring Boot默认启用它并从标准位置schema.sql和data.sql加载SQL。如果你想禁用它,你可以尝试,

spring.datasource.initialize=false
在application.properties

,或者如果您想更改默认方案或数据脚本位置,可以使用

spring.datasource.schema=
spring.datasource.data=

答案 1 :(得分:0)

您可以在测试方法的顶部编写该注释

@TestPropertySource(locations = "classpath:application-test.properties")

您的 application-test.properties 应该具有类似的内容

spring.datasource.data=classpath:/database/seed.sql