Mavenのwarパッケージングで、
[WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored (webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true')
という警告が出ました。Antのwarタスクでも同じ警告が出てしまう場合があるようです。
手許で確認した限りでは、archetypeとして org.codehaus.mojo.archetypes:webapp-jee5 (1.3) の構成で"mvn package" すると同警告が表示されました。
環境:
> mvn -version Apache Maven 3.0.4 (r1232337; 2012-01-17 17:44:56+0900) Maven home: C:\in_vitro\apps\apache-maven-3.0.4\bin\.. Java version: 1.6.0_22, vendor: Sun Microsystems Inc. Java home: C:\Program Files\Java\jdk1.6.0_22\jre Default locale: ja_JP, platform encoding: MS932 OS name: "windows 7", version: "6.1", arch: "x86", family: "windows" > mvn help:effective-pom ... <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <executions> <execution> <id>default-war</id> <phase>package</phase> <goals> <goal>war</goal> </goals> </execution> </executions> </plugin> ...
これを解決するには、maven-war-plugin の2.2を使います。
pom.xml:
<build> <plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.2</version> </plugin> ... </plugins> </build>
警告ではなく、以下のINFOメッセージが表示されるようになりました。
[INFO] WEB-INF\web.xml already added, skipping
警告でもINFOメッセージでも、
src/main/webapp/WEB-INF/web.xml
が
target/(artifactId)-(version)/WEB-INF/web.xml
にコピーされ、最終的にwarに含まれるので動作自体には影響ありませんが、警告が表示されるのが気になってしまう場合はためしてみると良いでしょう。
なお<webXml>でweb.xmlを指定する方法もweb上で紹介されていますが、2.2の前の2.1.1で試したところ<webXml>を指定しても警告は消えませんでした。
<build> <plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <webXml>src/main/webapp/WEB-INF/web.xml</webXml> </configuration> </plugin> ... </plugins> </build>
Antのwarタスクでも同じような警告が出るらしいので、maven-war-plugin自体と言うよりはwarパッケージングのライブラリの問題かもしれません。
参考:
コメント