2011-08-10 19 views
7

मैं एक जावा ऐप लिख रहा हूं जो मुझे जावा प्रोजेक्ट को पूरी तरह से इसकी फ़ाइल संरचना पर संकलित करने देगा ताकि मैं कोड लिख सकूं और आईडीई के बिना संकलित कर सकूं। समस्या जो मैं वर्तमान में कर रहा हूं वह यह है कि मैं संकलित करते समय स्वचालित रूप से जावाडोक उत्पन्न करना चाहता हूं, हालांकि जावा 6 जावाकंपेलर ऑब्जेक्ट को काम करने के लिए आपूर्ति करता है, मुझे javadoc कमांड का उपयोग करने का कोई तरीका नहीं मिल रहा है।मैं जावा का उपयोग कर जावडॉक्स कैसे उत्पन्न कर सकता हूं?

मैं जावा कोड का उपयोग कर अपनी परियोजनाओं के लिए जावाडोक एचटीएमएल कैसे उत्पन्न कर सकता हूं?

+1

क्यों उपयोग करना चाहते हैं? वहां पहले से परिपक्व जावा बिल्ड टूल्स हैं जो ये सब करते हैं और बहुत कुछ करते हैं। उनमें से एक का उपयोग करें, और अपने और/या आपके कोड को लेने वाले व्यक्ति के लिए एक बड़ा तकनीकी ऋण बनाने से बचें। –

+0

मुझे इसके लिए कोई डौबर्ट नहीं बताया जाएगा, लेकिन: चींटी/मेवेन/ग्रैडल को सभी को कॉन्फ़िगर करने के लिए कॉन्फ़िगरेशन फ़ाइल की आवश्यकता होती है। यदि आपने ऐसी उपयोगिता बनाई है जिसकी आवश्यकता नहीं है, तो इसके लिए एक निश्चित उपयोग केस है :-) – Rich

उत्तर

7

बस अगर आपको पता नहीं था कि Apache Ant और Apache Maven दोनों उपकरण हैं जो आप लिख रहे हैं (आईडीई के बिना संकलन) के समान लक्ष्य को पूरा करने के लिए मौजूद हैं।

दोनों ने जावाडोक उत्पन्न करने के लिए समर्थन में बनाया है। चींटी वाक्य रचना इस तरह दिखता है:

<!-- publish javadoc --> 
<target name="javadoc" description="Creates javadoc for IMP."> 
     <delete dir="${web-javadoc}"/> 
     <javadoc sourcepath="${source}" 
       defaultexcludes="no" 
       destdir="${web-javadoc}" 
       author="true" 
       version="true" 
       use="true" 
       windowtitle="IMP: Integrated Mechanisms Program" 
       overview="${source}/overview.html" 
       classpathref="debug.classpath" 
       stylesheetfile="${javadoc-theme}/stylesheet.css" 
     /> 

     <copy file="${javadoc-theme}/javadoc.jpg" tofile="${web-javadoc}/javadoc.jpg"/> 
</target> 

तुम सच में अपने दम पर यह उत्पन्न करने के लिए चाहते हैं तो आप Doclet API

import com.sun.javadoc.*; 

public class ListClass { 
    public static boolean start(RootDoc root) { 
     ClassDoc[] classes = root.classes(); 
     for (int i = 0; i < classes.length; ++i) { 
      System.out.println(classes[i]); 
     } 
     return true; 
    } 
} 
+0

बहुत अच्छी तरह से। मैं आपको अपने प्रश्न का उत्तर देने की सराहना करता हूं भले ही आपने सोचा कि यह गूंगा था। –

+0

बस उन उपकरणों को सहेजना चाहते थे यदि वे टूल आपकी आवश्यकताओं को पूरा करते हैं। ऐसा नहीं लगता था कि यह गूंगा था। – JohnKlehm

5

जावाडोक टूल में जावा भाषा में लिखे गए किसी अन्य प्रोग्राम से जावाडोक टूल का आह्वान करने के लिए सार्वजनिक तरीकों के साथ एक प्रोग्रामेटिक इंटरफ़ेस है। ये विधियां lib/tools.jar में कक्षा com.sun.tools.javadoc.Main में स्थित हैं।

से: http://download.oracle.com/javase/6/docs/technotes/guides/javadoc/standard-doclet.html#runningprogrammatically

1

उपकरण डॉक्स में Running the Standard Doclet Programmatically देखें।

+0

डाउनवोट क्यों? –

+0

आपके उत्तर में कोई वास्तविक समस्या नहीं है, केवल मिकू का जवाब थोड़ा बेहतर है (और कुछ मिनट पहले आया था), और मैं यह सुनिश्चित करना चाहता था कि यह आपके उत्तर से पहले रैंक किया गया हो। क्षमा करें, ऐसा करने का एकमात्र तरीका डाउनवोट था। –

+2

@ पालो: मैं देखता हूं। मेरी समझ से, यह डाउनवॉटिंग का अच्छा उपयोग नहीं है। डाउनवॉट्स हानिकारक या गलत उत्तरों को चिह्नित करने के लिए हैं। –

5

टर्मिनल में, javadoc टाइप करें - यह आपको विकल्पों की एक अच्छी सूची देगा। सरल:

javadoc -d your_output_directory -classpath your_classpath -sourcepath your_sourcefile_dir 
0

एक जावाडोक आदेश नहीं है, यह JDK (यूनिक्स प्लेटफार्मों पर आदमी जावाडोक)

हालांकि, वहाँ बेहतर तरीके हैं के साथ आता है। आप कोड कैसे संकलित कर रहे हैं? आप एक स्वचालित निर्माण उपकरण चींटी या Maven के रूप में इस तरह के प्रयोग कर रहे हैं, तो आप स्वचालित रूप से javadocs उत्पन्न करने के लिए एक जावाडोक कार्य जोड़ सकते हैं जब भी आप चींटी के बारे में अधिक जानकारी के लिए अपने कोड

http://ant.apache.org/manual/Tasks/javadoc.html

संकलन (अन्य उपकरणों इसी तरह की सुविधा है , अधिक जानकारी के लिए अपने टूल्स प्रलेखन देखें)

यही वह है जो मैं करता हूं, यह शानदार ढंग से काम करता है।

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

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