2016-07-27 7 views
10

का उपयोग करके मामूली त्रुटियों को अनदेखा करें I javadoc का उपयोग करके, एक या दो डाउनलोड की गई जार फ़ाइलों (पाठ्यक्रम के स्रोत के साथ, सब कुछ निकालने के बाद) प्रलेखन जेनरेट करने का प्रयास कर रहा हूं।javadoc

लेकिन जवाडोक का उपयोग करके, यहां तक ​​कि एक चींटी फ़ाइल में भी, मुझे मूर्खतापूर्ण चीजों के कारण इसे उत्पन्न करने से रोका जा रहा है, विशेष रूप से "पैकेज XXX मौजूद नहीं है" और "प्रतीक नहीं मिल सकता" ... मैं बस जावडोक रखना चाहता हूं एचटीएमएल दस्तावेज़ों में इन चीजों (बाहरी संदर्भ) का पाठ, लेकिन यह सभी .java फ़ाइलों को दस्तावेज करने के लिए ...

एनबी इस में रुचि रखने वाले किसी भी व्यक्ति के लिए डाउनलोड फ़ाइल (स्रोत युक्त स्रोत) के साथ डाउनलोड पेज है मैं API दस्तावेज़ उत्पन्न करने के लिए कोशिश कर रहा हूँ: http://logback.qos.ch/download.html

मार्क Rotteveel की मदद के बाद, मेरी चींटी निर्माण फ़ाइल अब इस तरह दिखता है:

<?xml version="1.0" ?> 
<project name="document logback core" default="doc"> 
    <target name="doc"> 
     <mkdir dir="javadoc" /> 
     <property name="excludedPackages" 
      value="org.codehaus.*,javax.mail.*"/> 
     <javadoc destdir="javadoc" sourcepath="src" packagenames="main.*" 
     excludepackagenames="${excludedPackages}" 
     additionalparam="-Xdoclint:none" /> 
    </target> 
</project> 

... लेकिन यह अभी भी त्रुटियों 1) पैकेज के बारे में नहीं मिला जा रहा है, सहित देता है "org.codehaus। [Xxx ...]" और "javax.mail। [Xxx ...]" और 2) प्रतीकों के बारे में नहीं पाया जा रहा है (हालांकि अगर मैं लापता पैकेज त्रुटियों को हल कर सकता हूं तो यह दूर हो सकता है)।

एनबी बिल्ड सफल होने के लिए कहा जाता है, लेकिन मुझे कोई स्रोत फाइल नहीं मिली है (जहां वास्तव में टिप्पणी की गई है। जावा फाइलें), और कोई भी HTML \ javadoc के अंतर्गत उत्पन्न नहीं हुआ है।

बाद में, इन डॉक्स

स्थापित चींटी 1.9.6, तदनुसार पथ बदल पैदा करने में टोनी पियर्स की सफलता के बाद, सुनिश्चित करें कि इस संस्करण इस्तेमाल किया जा रहा था ... फिर से कोशिश की बनाने के लिए जाँच की। फिर से विफल यह मेरे आउटपुट का अंत था:

[javadoc] D:\Desktop\Downloads\logback-1.1.7.tar\logback-1.1.7\logback-core\src\test\java\ch\qos\logback\core\appender\ConsoleAppenderTest.java:32: error: package org.junit does not exist
[javadoc] import static org.junit.Assert.assertEquals;
[javadoc]_______________________^

[javadoc] javadoc: error - No public or protected classes found to document.
[javadoc] 1 error
[javadoc] 100 warnings

BUILD SUCCESSFUL Total time: 2 seconds

यह जावाडोक फ़ोल्डर बनाता है ... लेकिन यह खाली है।

उपरोक्त "पैकेज मौजूद नहीं है" त्रुटि के बारे में एनबी (कई अन्य थे) त्रुटि: यह विशेष रूप से रहस्यमय है क्योंकि मैंने सोचा कि चींटी किसी भी तरह से डिफ़ॉल्ट रूप से जूनिट शामिल है (एनबी मैं चींटी में एक पूर्ण नौसिखिया हूं, बस " एंट इन एक्शन ")।

लेकिन ... एंटी javac कार्य के साथ आप includeAntRuntime="true" सेट कर सकते हैं ... इस पुस्तक के अनुसार जो चींटी के junit.jar को शामिल किया जा सकता है। दुर्भाग्यवश javadoc कार्य इस विशेषता का समर्थन नहीं करता है।

बाद में अभी भी

मेरे सोच था थोड़ा इस पर अव्यवस्थित, ईमानदार होना: सबसे आसान तरीका मैं तृतीय-पक्ष स्रोत जार से javadocs संकलित करने के लिए मिल गया है बस निकालने और उसके बाद का उपयोग करना है कमांड लाइन, आम तौर पर:

javadoc -d docs -Xmaxwarns 10 -Xmaxerrs 10 -Xdoclint:none -sourcepath . -subpackages ch.qos.logback.core

... के रूप में के लिए javadoc एक ही कोड के लिए यह (Gradle में एक समस्या मैं केवल चींटी पर झलक रहा था, पता है कि भविष्य Gradle है होना प्रतीत नहीं होता है ... और यह विशेष रूप से प्राप्त करना मुश्किल नहीं है मूल बातें के साथ पकड़ता है)।

एनबी आप ग्रहण के लिए Gradle एसटीएस प्लगइन स्थापित, और फिर Gradle एसटीएस विज़ार्ड अपने निर्माण फ़ाइल लाइन

apply plugin: 'eclipse'

... प्रभावों में से एक जिनमें से से वह यह है कि शामिल हैं का उपयोग कर एक नई परियोजना बनाते हैं आपकी सभी तृतीय-पक्ष निर्भरताओं के लिए स्रोत के साथ-साथ एक्जिक्यूटिव को डिफ़ॉल्ट रूप से निर्माण के दौरान GRADLE_HOME के ​​अंतर्गत डाउनलोड किया जाएगा। काफी अच्छा!

उत्तर

6

जावा 8 ने doclint पेश किया जो कुछ समस्याओं को एक त्रुटि के रूप में पेश करेगा और दस्तावेज़ीकरण का उत्पादन नहीं करेगा। कमांडलाइन विकल्प -Xdoclint:none निर्दिष्ट करके इसे अक्षम करना संभव है।

यह भी देखें: Turning off doclint in JDK 8 Javadoc

चींटी में उदाहरण के लिए आपको बस इतना करना होगा javadoc कार्य करने के लिए एक additionalparam="-Xdoclint:none" गुण जोड़ें। जेबर्ड से ए (थोड़ा संशोधित) उदाहरण:

<target name="javadocs" depends="init,set-driver-sources"> 
    <mkdir dir="${build.docs}"/> 
    <javadoc destdir="${build.docs}" 
      author="true" 
      version="true" 
      windowtitle="${Name} API" 
      doctitle="${Name}" 
      extdirs="${module.thirdparty}" 

      additionalparam="-Xdoclint:none" 

      excludepackagenames="${excludedPackages}" 
      bottom="Copyright &#169; 2001-2015 Jaybird (Firebird JDBC/JCA) team. All rights reserved."> 
     <arg line="${java.module.arg}"/> 
     <classpath refid="javac.driver.classpath"/> 
     <sourcepath> 
      <pathelement path="${source.java}"/> 
      <pathelement path="${source.jna-client}"/> 
     </sourcepath> 
     <sourcepath refid="source.java.openoffice"/> 
     <sourcepath refid="source.java.additional"/> 
     <link href="http://docs.oracle.com/javase/7/docs/api/"/> 
    </javadoc> 
</target> 
+0

धन्यवाद ... असल में मैं इस पर आया था। कमांड लाइन से (जावा का उपयोग नहीं करते) से javadoc चलाते समय मैंने कोशिश की। लेकिन वास्तव में मैं कमांड लाइन का उपयोग करने के साथ कहीं भी नहीं मिल सका। आह ... बस आपका संपादन देखा ... धन्यवाद ... इसे पढ़ने के लिए जा रहा है ... –

+0

इस अतिरिक्तparam के साथ चलने की कोशिश की ... एक ही परिणाम। क्या आप संभवतः अपनी बिल्ड फ़ाइल का थोड़ा सा दिखा सकते हैं जहां आप बहिष्कृत पैकेज को परिभाषित करते हैं? –

+0

@mikerodent https://github.com/FirebirdSQL/jaybird/blob/master/build/init.xml#L198 ध्यान दें कि यदि समस्या बाहरी संदर्भ है, तो आपको या तो 'क्लासपाथ' तत्वों को देखने की आवश्यकता हो सकती है (इसलिए आप क्लासपाथ पर निर्भरता है), या 'लिंक' तत्व (जो मेरे मामले में जेडीके एपीआई दस्तावेज़ों को इंगित करता है)। –

0

मैंने आपकी बिल्ड फ़ाइल को थोड़ा सा सरल बनाया और सफलतापूर्वक जावाडोक बनाया। यहाँ मैं क्या किया है:

  • डाउनलोड किया logback ज़िप
  • एक src निर्देशिका
  • इस के साथ जावा 8 के तहत चींटी 1.9.6 Ran में सूत्रों जार के अंदर का विस्तार:

    <?xml version="1.0" ?> 
    <project name="document logback core" default="doc"> 
        <target name="doc"> 
         <mkdir dir="javadoc" /> 
         <javadoc destdir="javadoc" sourcepath="src" 
          additionalparam="-Xdoclint:none" /> 
        </target> 
    </project> 
    

इसने कई चेतावनियां उत्पन्न कीं, लेकिन एचटीएमएल से भरे javadoc निर्देशिका बनाई।

मैंने excludepackagenames हटा दिया और packagenames तत्व को हटा दिया। किसी भी मामले में, packagenames="main.*" जावाडोक पीढ़ी को रोकता है क्योंकि जार में केवल रूट पैकेज ch और org हैं।

+0

धन्यवाद। कोशिश की ... कोई HTML या कुछ भी उत्पन्न नहीं हुआ। केवल अंतर मैं देख सकता हूं कि मैं चींटी 1.9.7 का उपयोग कर रहा हूं! सप्ताहांत में मैं चींटी 1.9.6 का उपयोग करने के लिए समय खोजने का प्रयास करूंगा ... क्या यह एक रहस्यमय विंडोज अनुमति अनुमति हो सकता है? –

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