Maven配置文件 - 没有子项目的构建

时间:2014-01-08 16:21:47

标签: java maven maven-2

我有一个包含多个子项目的maven项目。我还有一个maven dbunit插件,我从命令行调用,如下所示:

  

mvn dbunit:operation -P test -pl。

-P是一个配置文件开关,其中存储了所有必需的属性(如db url等) 即:

<profile>
    <id>test</id>
    <activation>
        <activeByDefault>false</activeByDefault>
    </activation>
    <properties>
        <driver>org.postgresql.Driver</driver>
        <url>jdbc:postgresql://localhost:5432/db</url>
        <username>ers</username>
        <password>ers</password>
        <useQualifiedTableNames>true</useQualifiedTableNames>
        <dataTypeFactoryName>org.dbunit.ext.postgresql.PostgresqlDataTypeFactory</dataTypeFactoryName>
        <format>flat</format>
        <type>INSERT</type>
        <src>${basedir}/some_path/test.xml</src>
    </properties>
</profile>

我遇到的问题是我需要指定-pl .参数来只构建一个项目(root / parent项目),这样dbunit数据只加载一次。是否可以直接在配置文件中指定一些属性,因此只构建一个项目?我试过<pl>my_project</pl><project>... - 但没有运气。谢谢!

1 个答案:

答案 0 :(得分:1)

是。可以在配置文件中指定<modules>元素。因此,解决方案是将DBUnit设置代码移动到模块中,然后:

<profile>
  <id>test</id>
  <modules>
    <module>db-unit-setup<module>
  </modules>
</profile>

如果使用-P test激活此配置文件,则只会构建单个模块db-unit-setup和父POM。但由于父POM现在是一个空项目(它只是一个没有任何代码的POM),所以不应该受到伤害。