在测试阶段使用备用Maven配置文件

cde*_*ker 3 java maven-2 unit-testing appfuse

我正在尝试从Appfuse Archetype开始构建一个应用程序,但是我遇到了一些奇怪的问题.曾经有一次我想使用hsqldb进行自动单元测试和集成测试,并使用mysql db进行手动测试,这样我就可以在需要时轻松操作数据,所以最好自动切换配置文件.测试阶段.有没有办法做到这一点?

Tay*_*ese 7

我不确定这是否正是您要求的,但您可以执行以下操作为Maven项目设置多个过滤器.

<filters>
  <filter>/your/path/filter-${env}.properties</filter>
</filters>
Run Code Online (Sandbox Code Playgroud)

这样您就可以使用以下方法设置多个配置

<profiles>
  <profile>
    <id>local</id>
    <properties>
      <env>local</env>
    </properties>
  </profile>
  <profile>
    <id>test</id>
    <properties>
      <env>test</env>
    </properties>
  </profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下相关属性文件运行构建:

mvn -P <profile id>
Run Code Online (Sandbox Code Playgroud)

这需要将属性文件放在:

/your/path/filter-local.properties
/your/path/filter-test.properties
Run Code Online (Sandbox Code Playgroud)