2013-06-27 41 views
3

我正在嘗試使用在maven構建中聲明的wsimport目標來使用webservice。但我面臨着m2e connectors的問題。我的POM中有一個錯誤,它說適用於JAX-WS的Eclipse m2e連接器org.codehaus.mojo

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。

我遵循並嘗試幾乎所有提到的解決方案here但都是徒勞的。

儘管在生成資源方面沒有問題。這些資源是在構建時成功生成的,但是這個POM錯誤不允許我的項目與我的tomcat同步,並且每次我必須手動部署戰爭來測試我所做的小改動。

這一切都很煩人,我需要找出解決方案。我在這裏使用eclipse juno。 下面是我使用

<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> 

回答

5

有一個M2E JAXWS Maven的連接器的GitHub項目POM文件: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/(見project
  3. 安裝了JAXWS和重啓M2E連接器。
  4. 導入Maven項目或更新Eclipse Maven項目配置。
1

雖然我沒有保持jaxws-maven-connector更新了最新的M2E和JAXWS-Maven的插件來工作,我發現你下面的配置文件添加到一個更好的方法(這也是我貼在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> 
      <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> 
4

投票https://java.net/jira/browse/JAX_WS_COMMONS-124和得到這個固定的插件。 然後你不需要連接器。

在此期間,你可以破解這個按照阿基米德特拉雅諾的帖子

+0

啊互聯網我是多麼愛你 - 我已經走過了一年後,尋找這個問題的答案,這裏是答案,雖然增加M2E支持還沒有發生。 – Bae

相關問題