【问题标题】:Maven How to specify a directory of sql files for create-schema commandMaven如何为create-schema命令指定sql文件目录
【发布时间】:2012-10-27 17:49:46
【问题描述】:

我有几个包含多个 sql 文件的目录。如何配置 maven 以运行目录中的所有 sql 文件。我目前的配置是这样的:

      <build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sql-maven-plugin</artifactId>
            <version>${sql-maven-plugin.version}</version>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>${mysql-connector.version}</version>
                </dependency>
            </dependencies>
            <configuration>
                <driver>${mysql.jdbc.driver.class.name}</driver>
                <url>${mysql.jdbc.url}</url>
                <username>${mysql.jdbc.username}</username>
                <password>${mysql.jdbc.password}</password>
            </configuration>
            <executions>
                <execution>
                    <id>create-schema</id>
                    <phase>install</phase>
                    <goals>
                        <goal>execute</goal>
                    </goals>
                    <configuration>
                        <skip>${mysql.db.skip}</skip>
                        <autocommit>true</autocommit>
                        <srcFiles>
<srcFile>src/main/resources/directory1/file1.sql</srcFile>
<srcFile>src/main/resources/directory1/file2.sql</srcFile>
<srcFile>src/main/resources/directory2/file1.sql</srcFile>
<srcFile>src/main/resources/directory2/file2.sql</srcFile>
                        </srcFiles>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
  </build>

每个目录中有很多文件。

如何使用目录而不是列出每个文件?

【问题讨论】:

    标签: java mysql maven configuration


    【解决方案1】:

    在 pom.xml 中完成 basedir

     <execution>
            <id>create-data</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <orderFile>ascending</orderFile>
              <fileset>
                <basedir>${basedir}</basedir>
                <includes>
                  <include>src/test/sql/test-data2.sql</include>
                  <include>src/test/sql/test-data1.sql</include>
                </includes>
              </fileset>
            </configuration>
          </execution>
    

    【讨论】:

      【解决方案2】:

      根据documentation,您可以指定一个文件集,而不是单独列出您的文件。一个例子是here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-12
        • 1970-01-01
        • 1970-01-01
        • 2014-10-06
        相关资源
        最近更新 更多