製品をビルドするたびに wsgenを実行したくないので、wsgenを独自のプロファイルで実行します。しかし、実行するとバージョンが見つからないというエラーが表示されます。
$ mvn package -P wsgen [INFO] Scanning for projects... [ERROR] The build could not read 1 project -> [Help 1] [ERROR] [ERROR] The project project-ejb:2.3.15-SNAPSHOT (C :\Projects\MyProject\pom.xml) に 1 つのエラー [エラー]
'build.plugins.plugin[org.jvnet.jax-ws-commons:jaxws-maven-plugin].dependencies.dependency.version' for org.glassfish :javax.javaee:jar がありません。@ 行 167、列 41 [エラー] [エラー] エラーの完全なスタック トレースを表示するには、-e スイッチを指定して Maven を再実行します。[エラー] -X スイッチを使用して Maven を再実行し、完全なデバッグ ログを有効にします。[エラー] [エラー] エラーと考えられる解決策の詳細については、次の記事を参照してください: [エラー] [ヘルプ 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
これは、子 pom (プロファイルを含む pom) のスニペットです。
<packaging>ejb</packaging>
<parent>
<artifactId>MyProject</artifactId>
<groupId>project</groupId>
<version>2.3.15-SNAPSHOT</version>
</parent>
<profiles>
<profile>
<id>wsgen</id>
<build>
<plugins>
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.1</version>
<executions>
...
</executions>
<dependencies>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.javaee</artifactId>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
しかし、親 pom では、この依存関係をdependencyManagement
タグの下のバージョンで定義しています。
プロファイルが親のdependencyManagement
タグを継承していないため、依存関係にバージョン番号がないと考えられていると思います。プロファイルにこれを親から継承させる方法はありますか?