2012-02-28 12 views
14

क्या कोई उपकरण है जो एक जावा फ़ाइल लेता है जो एक आरईएसटी सेवा को पैरामीटर के रूप में वर्णित करता है और उसमें से एक वैडल फ़ाइल उत्पन्न करता है।WADL जनरेशन टूल

उत्तर

17

मैं एक ही समस्या थी: RESTeasy उपयोग कर रहा था और एक तरह से स्वचालित रूप से WADL उत्पन्न करने के लिए खोजने के लिए करना चाहता था।

कुछ शोध किया और नीचे दिए गए समाधान में आया।

1. अपने pom.xml को यह जोड़ें: buildUri और packagesResourceConfig तत्वों को

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

वेतन ध्यान। आपको अपनी परियोजना की कॉन्फ़िगरेशन को प्रतिबिंबित करने के लिए उन्हें बदलना होगा। आप प्लगइन के संस्करण को भी बदलना चाहते हैं (मैंने 1.17 का उपयोग किया)।

2. एक/दस्तावेज़ फ़ोल्डर बनाएं और कुछ फ़ाइलें जोड़ें।

src/main/doc/ फ़ोल्डर बनाएं और नीचे दी गई दो फाइलें बनाएं।

फ़ाइल: आवेदन-doc.xml

सामग्री:

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

फ़ाइल: आवेदन-grammars.xml

सामग्री:

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

3। रन मेवेन कमांड।

जाओ प्रोजेक्ट फ़ोल्डर के लिए और निम्नलिखित कमांड चलाएँ:

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

फ़ाइलों \target\classes\application.wadl (WADL ही) और \target\classes\xsd0.xsd (संसाधनों की स्कीमा - यह application.wadl द्वारा प्रयोग किया जाता है) उत्पन्न किया जाना चाहिए ।

संपादित करें और उन्हें अपनी इच्छानुसार उपयोग करें।

पीएस .: ध्यान रखें कि यह मेवेन-वाडल-प्लगइन का एक बहुत ही सरल उपयोग है। यह बहुत कुछ कर सकता है। इसे बेहतर तरीके से जानने के लिए, कृपया दूसरे उत्तर में वर्णित ज़िप फ़ाइल देखें (पावेल बुसेक द्वारा)।

+0

दस्तावेज़ीकरण वास्तव में कमी है। क्या 'packagesResourceConfig' वास्तविक अंतराल वाले वर्गों के स्थान पर विचार किया गया है? – jiggy

+0

@jiggy 'packagesResourceConfig' जावा पैकेज है जहां आपके संसाधन (सेवाएं) कक्षाएं स्थित हैं। – acdcjunior

+0

एक्सएसडी कैसे उत्पन्न होता है? कोई भी उत्पादित नहीं किया जा रहा है। – Grayson

संबंधित मुद्दे