Aug 25, 2008

[Maven] Maven2 で Apache Tomcat の context.xml を WAR に追加する方法

Maven2 で Apache Tomcat の context.xml を WAR に追加する方法をメモ。 何故メモするかというと、現時点(2008/08/25)では普通に設定するだけでは動作しないから。
想定された通りの挙動であれば、pom.xml に

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <containerConfigXML>src/main/webapp/META-INF/context.xml</containerConfigXML>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
と設定すれば src/main/webapp/META-INF/context.xml が WAR の META-INF/context.xml として格納される。
war:war
http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html#containerConfigXML
ところが、この containerConfigXML というオプション、maven-war-plugin のバグにより現時点では動作しない。
Option containerConfigXML doesn't work
http://jira.codehaus.org/browse/MWAR-120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel
バグレポートによると既にこのバグは修正済みで、修正されたバージョンは 2.1-alpha-2 ということなので、maven-war-plugin を 2.1-alpha-2 にする必要がある。 maven-war-plugin 2.1-alpha-2 を使用するには pom.xml を下記の通り設定すれば良い。
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.1-alpha-2</version>
        <configuration>
          <containerConfigXML>src/main/webapp/META-INF/context.xml</containerConfigXML>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
maven-war-plugin 2.1-alpha-2 のリリースノートはこちら。
[ANN] Maven War Plugin 2.1-alpha-2 Released
http://mail-archives.apache.org/mod_mbox/maven-announce/200808.mbox/%3Cadba96190808140822t6d87b6c2k9fa0d9ee444d5a9c@mail.gmail.com%3E

Posted in Maven | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |