3

我正在尝试使用wsimport在 Maven 构建中声明的目标来使用 Web 服务。但我面临的问题是m2e connectors. 我的 POM 中有一个错误,上面写着

Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:jaxws-maven-
          plugin:1.10:wsimport (execution: default, phase: generate-sources)

我一直在尝试安装 m2e 连接器,但即使在市场上也没有得到它们。还有其他 m2e 连接器,但不适用于我需要的 JAX-WS。

我已经遵循并尝试了这里提到的几乎所有解决方案,但都是徒劳的。

虽然生成资源没有问题。资源是在构建时成功生成的,但是这个 POM 错误不允许我的项目与我的 tomcat 同步,并且每次我必须手动部署战争来测试我所做的小改动。

这一切真的很烦人,我需要想办法解决这个问题。我在此使用 eclipse juno。下面是我正在使用的 POM 文件

<build>
    <finalName>home</finalName>
    <plugins>       
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>1.10</version>
            <executions>
                <execution>
                    <phase>post-clean</phase>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                </execution>
            </executions>
            <!-- -->
            <configuration>
                <wsdlUrls>
                    <wsdlUrl>http://localhost:8080/email-service/services/EmailService?wsdl</wsdlUrl>
                </wsdlUrls>
                <sourceDestDir>${project.build.directory}/generated</sourceDestDir>
                <verbose>true</verbose>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
            <executions>
                <execution>
                    <id>additional-resources</id>
                    <phase>process-resources</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/home/WEB-INF/classes</outputDirectory>
                        <resources>
                            <resource>
                                <directory>${project.basedir}/src/main/webapp/resources/props</directory>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
4

3 回答 3

6

有一个 M2E jaxws-maven-connector GitHub 项目:https ://github.com/trajano/jaxws-maven-connector 。它与 Eclipse Kepler 和org.codehaus.mojo:jaxws-maven-plugin:1.12.

  1. 帮助菜单中选择安装新软件。
  2. 添加存储库https://raw.github.com/trajano/jaxws-maven-connector/master/jaxws-connector-update-site/(参见项目
  3. 为 jaxws安装m2e 连接器并重新启动。
  4. 导入 Maven 项目或更新 Eclipse Maven 项目配置。
于 2013-10-07T12:36:34.263 回答
5

投票给https://github.com/javaee/metro-jaxws-commons/issues/124并在插件中解决这个问题。那么你就不需要连接器了。

与此同时,您可以按照 Archimedes Trajano 的帖子破解这个

于 2014-02-27T01:59:44.823 回答
1

虽然我确实更新了jaxws-maven-connector以使用最新的 M2E 和 jaxws-maven-plugin,但我找到了一个更好的方法(我也在http://www.trajano.net/2013/12/jaxws -maven-plugin-and-m2e/ )

您将以下配置文件添加到您的 pom.xml 文件中,以消除对不可发现的 M2E 插件的需求。

    <profile>
        <id>m2e</id>
        <activation>
            <property>
                <name>m2e.version</name>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.8</version>
                    <executions>
                        <execution>
                            <id>attach-wsimport-sources</id>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>add-source</goal>
                            </goals>
                            <configuration>
                                <sources>
                                    <source>${basedir}/target/generated-sources/wsimport</source>
                                </sources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.eclipse.m2e</groupId>
                        <artifactId>lifecycle-mapping</artifactId>
                        <version>1.0.0</version>
                        <configuration>
                            <lifecycleMappingMetadata>
                                <pluginExecutions>
                                    <pluginExecution>
                                        <pluginExecutionFilter>
                                            <groupId>
                                                org.jvnet.jax-ws-commons
                                            </groupId>
                                            <artifactId>
                                                jaxws-maven-plugin
                                            </artifactId>
                                            <versionRange>
                                                [2.3.1-b03,)
                                            </versionRange>
                                            <goals>
                                                <goal>wsimport</goal>
                                            </goals>
                                        </pluginExecutionFilter>
                                        <action>
                                            <execute />
                                        </action>
                                    </pluginExecution>
                                </pluginExecutions>
                            </lifecycleMappingMetadata>
                        </configuration>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>
    </profile>

至于 jaxws-maven-plugin 配置,尽量保持默认即可:

<plugin>
            <groupId>org.jvnet.jax-ws-commons</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>2.3.1-b03</version>
            <configuration>
                <wsdlUrls>
                    <wsdlUrl>http://www.webservicex.net/ConvertAcceleration.asmx?WSDL</wsdlUrl>
                </wsdlUrls>
            </configuration>
            <executions>
                <execution>
                    <id>wsimport</id>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
于 2013-12-11T19:47:35.480 回答