我有一个包含多个子项目的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>...
- 但没有运气。谢谢!
答案 0 :(得分:1)
是。可以在配置文件中指定<modules>
元素。因此,解决方案是将DBUnit设置代码移动到模块中,然后:
<profile>
<id>test</id>
<modules>
<module>db-unit-setup<module>
</modules>
</profile>
如果使用-P test
激活此配置文件,则只会构建单个模块db-unit-setup
和父POM。但由于父POM现在是一个空项目(它只是一个没有任何代码的POM),所以不应该受到伤害。