私のpom.xml全体は以下の通りです。このpomを使用して、私はこのエラーをEclipseの "ライフサイクル設定でカバーされていないプラグインの実行:org.apache.cxf:cxf-java2ws-plugin:3.1.8:java2ws(実行:プロセスクラス、フェーズ:プロセスクラス)"とします。 それでも、正常に動作します。私は、 "mvn clean package install"を実行すると、出力wsdlファイルが必要になります。pluginManagementを削除したときにwsdlを作成できるのはなぜですか?
pluginManagementを追加した場合、Eclipseのエラーは消えてしまいますが、wsdlファイルを望んでも得られません。私がそれについて見つけた2つの最も近い議論は "Publishing wsdl java M2E plugin execution not covered"と "How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds"でしたが、私はそれらを理解しませんでした。私の知る限り見ることができるように、アイデアは
"<lifecycleMappingMetadata>...<action><execute/>".
私のストレート質問を利用するように変更することです:私はpluginManagementを奪うとき、私の下のポンポンが働くんなぜですか?私は、プラグイン管理と実行の間の関係に関する基本的な知識が不足しているとは確信していません。私の質問から最も関連性の高い部分は、Eclipseで何が問題になっているかではありません(Eclipseを無視する人はほとんどいません)。
私はpluginManagementをしばらく使用してきましたが、私はpomに追加された特別な機能を正確には疑問に思っていません。今はjava2wsで失敗しているので、私は実際には、私はそれを取得し、pluginManagementと目標> java2wsで実行するために私のPOMに追加する必要がある追加の構成があるかどうか理解することに興味があります。
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>grp</groupId>
<artifactId>art</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>art Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<jdk.version>1.8</jdk.version>
<cxf.version>3.1.8</cxf.version>
<spring.version>4.3.4.RELEASE</spring.version>
<!-- <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> -->
</properties>
<dependencies>
<!-- Spring dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Apache cxf dependencies -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<!-- servlet & jsp -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>
<build>
<finalName>art</finalName>
<!-- <pluginManagement> -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-java2ws-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>process-classes</id>
<phase>process-classes</phase>
<configuration>
<className>art.VmxService</className>
<outputFile>${project.basedir}/src/main/resources/VmxService.wsdl</outputFile>
<genWsdl>true</genWsdl>
<verbose>true</verbose>
<address>http://localhost:9080/art/VmxService</address>
</configuration>
<goals>
<goal>java2ws</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<!-- </pluginManagement> -->
</build>
</project>
ウェム、確かに私の質問に100%答えました。 Eclipseユーザーの場合は最後のコメントですが、「Eclipseの警告はIDEのライフサイクルに関連しています」を設定する方法を知っていますか? – DemeCarvO
私は日食の進化について最新ではないので、申し訳ありません。私は過去のライフサイクルマッピングの警告を無視しました。それはちょうどどこかの検証設定かもしれませんか?通常、Eclipseのすべての警告を無効にするか、優先順位を変更することができます。 – wemu