2012-02-28 26 views

Trả lời

17

tôi đã cùng một vấn đề: đã sử dụng RESTeasy và muốn tìm cách để tạo ra WADL tự động.

Đã thực hiện một số nghiên cứu và đưa ra giải pháp bên dưới.

1. Tiện ích này để pom.xml của bạn:

<build> 
<plugins> 
    <plugin> 
     <groupId>com.sun.jersey.contribs</groupId> 
     <artifactId>maven-wadl-plugin</artifactId> 
     <version>1.17</version> 
     <executions> 
      <execution> 
       <id>generate</id> 
       <goals> 
        <goal>generate</goal> 
       </goals> 
       <phase>${javadoc-phase}</phase> 
      </execution> 
     </executions> 
     <configuration> 
      <wadlFile>${project.build.outputDirectory}/application.wadl 
      </wadlFile> 
      <formatWadlFile>true</formatWadlFile> 
      <baseUri>http://example.com:8080/rest</baseUri> 
      <packagesResourceConfig> 
       <param>com.example.rs.resource</param> 
      </packagesResourceConfig> 
      <wadlGenerators> 
       <wadlGeneratorDescription> 
        <className>com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc 
        </className> 
        <properties> 
         <property> 
          <name>applicationDocsFile</name> 
          <value>${basedir}/src/main/doc/application-doc.xml</value> 
         </property> 
        </properties> 
       </wadlGeneratorDescription> 
       <wadlGeneratorDescription> 
        <className>com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport 
        </className> 
        <properties> 
         <property> 
          <name>grammarsFile</name> 
          <value>${basedir}/src/main/doc/application-grammars.xml</value> 
         </property> 
        </properties> 
       </wadlGeneratorDescription> 
      </wadlGenerators> 
     </configuration> 
    </plugin> 
</plugins> 
</build> 

Chú ý đến các yếu tố buildUripackagesResourceConfig. Bạn phải thay đổi chúng để phản ánh cấu hình của dự án của bạn. Bạn cũng có thể muốn thay đổi phiên bản của plugin (tôi đã sử dụng 1.17).

2. Tạo thư mục/doc và thêm một số tệp.

Tạo thư mục src/main/doc/ và tạo hai tệp bên dưới.

File: ứng dụng doc.xml

Nội dung:

<?xml version="1.0" encoding="UTF-8"?> 
<applicationDocs targetNamespace="http://wadl.dev.java.net/2009/02"> 
    <doc xml:lang="en" title="A message in the WADL">This is added to the start of the generated application.wadl</doc> 
</applicationDocs> 

File: ứng dụng grammars.xml

Nội dung:

<?xml version="1.0" encoding="UTF-8" ?> 
<grammars xmlns="http://wadl.dev.java.net/2009/02" /> 

3. Chạy lệnh maven.

Đến thư mục dự án và chạy lệnh sau:

$ mvn compile com.sun.jersey.contribs:maven-wadl-plugin:generate 

Các tập tin \target\classes\application.wadl (các WADL chính nó) và \target\classes\xsd0.xsd (schema các nguồn lực - nó được sử dụng bởi các application.wadl) nên được tạo ra .

Chỉnh sửa và sử dụng chúng như bạn muốn.

PS .: Hãy nhớ rằng đây là cách sử dụng rất đơn giản của plugin maven-wadl. Nó có thể làm nhiều hơn nữa. Để biết rõ hơn, vui lòng tham khảo tệp zip được đề cập trong câu trả lời khác (bởi Pavel Bucek).

+0

Tài liệu thực sự thiếu. 'PackagesResourceConfig' có phải là vị trí của các lớp với các điểm cuối thực tế không? – jiggy

+0

@jiggy 'packagesResourceConfig' là gói java nơi có các lớp tài nguyên (dịch vụ) của bạn. – acdcjunior

+0

XSD được tạo ra như thế nào? Không có sản phẩm nào được sản xuất. – Grayson

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