部署(Maven)软件包时,将配置文件移动到etc文件夹(Karaf)

时间:2014-10-10 07:02:00

标签: maven pom.xml apache-karaf

我想在部署捆绑包时将cfg文件移动到karaf的etc文件夹中。 cfg文件位于src / main / resource下。在pom中尝试了以下内容,但它无效。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.1</version>
    <executions>
        <execution>
            <phase>deploy</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <tasks>
                    <echo>Using env.test.properties</echo>
                    <copy file="src/main/resources/test.cfg" tofile="${env.KARAF_HOME}/etc/test.cfg"/>
                    </tasks>
                </configuration>
            </execution>
        </executions>
    </plugin>

我该怎么做?

1 个答案:

答案 0 :(得分:2)

其中一个解决方案可能是: - 将test.cfg文件放在更具体的文件夹中。 (例如:src / main / resources / cfg) - 使用maven资源插件

这是一个基于maven阶段生成资源的工作示例(在您的情况下通过部署替换该阶段):

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <executions>
    <execution>
      <id>copy-to-karaf</id>
      <phase>generate-resources</phase>
      <goals>
        <goal>copy-resources</goal>
      </goals>
      <configuration>
        <resources>
          <resource>
            <directory>src/main/resources/cfg</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
        <outputDirectory>D:\apache-karaf-3.0.1\etc\</outputDirectory>
      </configuration>
    </execution>
  </executions>
</plugin>