2012-04-09 35 views
7

Tôi đang cố sử dụng wsimport để tạo các lớp từ WSDL.Wsimport không thành công trong khi xây dựng Maven

Tôi đang sử dụng POP Maven được tạo ra bởi Netbeans (7.1) nhưng tôi nhận được đầu ra sau khi tôi cố gắng để xây dựng nó:

[jaxws:wsimport] 
Processing: C:\Users\...\src\wsdl\ShipService_v5.wsdl 
jaxws:wsimport args: [-s, C:\Users\...\target\generated-sources\jaxws-wsimport, -d, C:\Users\...\target\classes, -verbose, -catalog, C:\Users\...\src\jax-ws-catalog.xml, -wsdllocation, file:/C:/Users/.../Desktop/ShipService_v5.wsdl, -extension, -Xnocompile, C:\Users\...\src\wsdl\ShipService_v5.wsdl] 
parsing WSDL... 

------------------------------------------------------------------------ 
BUILD FAILURE 
------------------------------------------------------------------------ 
Total time: 1.361s 
Finished at: Mon Apr 09 12:51:52 BST 2012 
Final Memory: 4M/120M 
------------------------------------------------------------------------ 
Failed to execute goal org.codehaus.mojo:jaxws-maven-plugin:1.10:wsimport (wsimport-generate-ShipService_v5) on project RPDataStreams: Error executing: wsimport [-s, C:\Users\...\target\generated-sources\jaxws-wsimport, -d, C:\Users\...\target\classes, -verbose, -catalog, C:\Users\...\src\jax-ws-catalog.xml, -wsdllocation, file:/C:/Users/.../Desktop/ShipService_v5.wsdl, -extension, -Xnocompile, C:\Users\...\src\wsdl\ShipService_v5.wsdl] -> [Help 1] 

Phần Plugin từ POM của tôi là:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>jaxws-maven-plugin</artifactId> 
    <version>1.10</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>wsimport</goal> 
      </goals> 
      <configuration> 
       <wsdlFiles> 
        <wsdlFile>ShipService_v5.wsdl</wsdlFile> 
       </wsdlFiles> 
       <wsdlLocation>file:/C:/Users/.../Desktop/ShipService_v5.wsdl</wsdlLocation> 
       <staleFile>${project.build.directory}/jaxws/stale/ShipService_v5.stale</staleFile> 
      </configuration> 
      <id>wsimport-generate-ShipService_v5</id> 
      <phase>generate-sources</phase> 
     </execution> 
    </executions> 
    <dependencies> 
     <dependency> 
      <groupId>javax.xml</groupId> 
      <artifactId>webservices-api</artifactId> 
      <version>1.4</version> 
     </dependency> 
    </dependencies> 
    <configuration> 
     <sourceDestDir>${project.build.directory}/generated-sources/jaxws-wsimport</sourceDestDir> 
     <xnocompile>true</xnocompile> 
     <verbose>true</verbose> 
     <extension>true</extension> 
     <catalog>${basedir}/src/jax-ws-catalog.xml</catalog> 
    </configuration> 
</plugin> 

Tôi biết rằng không có gì sai với WSDL tôi đang sử dụng, tôi cũng đã thử nó với WSDL từ http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl.

Tôi đã thử xây dựng dự án này từ Netbeans và trên dòng lệnh từ máy chủ Ubuntu, cả hai lần tôi nhận được kết quả tương tự.

Tôi hiện đã thu hẹp điều này xuống mức phụ thuộc vào jconfig. Nếu tôi nhận xét ra các khối dưới đây thì các nguồn dịch vụ web được xây dựng thành công.

<dependency> 
     <groupId>org.jconfig</groupId> 
     <artifactId>jconfig</artifactId> 
     <version>2.9</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>jmxri</artifactId> 
       <groupId>com.sun.jmx</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

Cảm ơn sự trợ giúp.

+0

chạy maven với -X - hy vọng bạn sẽ nhận được thêm thông tin từ plugin jaxws. – tdrury

+0

Ba dấu chấm trong 'C:/Users /.../ src /' trông sai, hoặc là một số loại cửa sổ mới có tính năng? –

+0

... chỉ là để loại bỏ đường dẫn đầy đủ. Chạy với -X không cung cấp bất kỳ thông tin hữu ích nào. Tôi đã loại bỏ sự phụ thuộc của jconfig và thay thế bằng Commons Configuration (cái mà tôi nghĩ là tốt hơn) và dự án xây dựng ngay bây giờ. – jebbench

Trả lời

6

Bạn nên sử dụng:

<groupId>org.jvnet.jax-ws-commons</groupId> 
<artifactId>jaxws-maven-plugin</artifactId> 
<version>2.2</version> 

đó là phiên bản mới nhất (chú ý rằng các plugin đã chuyển đến org.jvnet.jax-ws-commons)

Edit:

Bạn có thể thử chọn lọc không bao gồm phụ thuộc xây dựng jconfig. Danh sách đầy đủ trông giống như:

<dependency> 
    <groupId>org.jconfig</groupId> 
    <artifactId>jconfig</artifactId> 
    <version>2.9</version> 
    <exclusions> 
     <exclusion> 
      <groupId>com.sun.jmx</groupId> 
      <artifactId>jmxri</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>javax.xml.parsers</groupId> 
      <artifactId>jaxp-api</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>crimson</groupId> 
      <artifactId>crimson</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

Chỉnh sửa: bạn có thực sự cần jconfig không? Nếu không, chỉ cần loại bỏ nó.

+0

Tôi đã cập nhật POM của mình như được đề xuất nhưng tôi nhận được kết quả tương tự như trước đây. Việc loại bỏ sự phụ thuộc JConfig sẽ cho phép dự án xây dựng. – jebbench

+1

Tăng cường phiên bản của jaxws-maven-plugin lên 2,2 giải quyết cùng một vấn đề cho tôi - cảm ơn bạn. – s1mm0t

0

Trong tab JRE cấu hình chạy dự án của bạn, chọn JRE thay thế và thêm đường dẫn của JDK cài đặt. Đối với tôi, việc này đã giải quyết được vấn đề.

Các vấn đề liên quan