2012-07-04 8 views
14

क्या पैकेज-info.java से इस पैकेज के बाहर किसी अन्य पैकेज से लिंक करने का कोई तरीका है (उसी प्रोजेक्ट में)?@ पैकेज के अंदर एक और पैकेज के लिए लिंक करें-info.java

अगर मैं जावा 7 में ऐसा करने की कोशिश मैं हमेशा मिलती है:

warning - Tag @link: reference not found: 
+0

क्या आप अभी तक यह कैसे करना चाहते हैं? (और: आप * किसी अन्य पैकेज का संदर्भ देना चाहते हैं, पैकेज के अंदर कभी नहीं, सही?) – scravy

+0

@scravy वास्तव में यह प्रश्न वास्तव में पुराना है। मुझे लगता है कि मुझे कभी समाधान नहीं मिला (यह एक परियोजना के लिए बहुत करीब मृत रेखा के साथ था)। मैं नए साल में इसे एक और नजर डालेगा। – someonr

उत्तर

-3

तुम इतनी जावाडोक नाम स्थान आप की बात कर रहे हैं जानता है इस्तेमाल किया पैकेज आयात करने के लिए किया है।

package-info.java देखो इस लिंक करना चाहिए:

import package.subpackage.ClassnameYouWantToLink; 
/** 
* {@link ClassnameYouWantToLink} 
*/ 

आप पैकेज आप className के सामने पूर्ण quallified पैकेज-नाम की जरूरत आयात करने के लिए नहीं करना चाहते हैं:

/** 
* {@link package.subpackage.ClassnameYouWantToLink} 
*/ 
+1

मुझे लगता है कि ऑप पैकेज से लिंक करना चाहता है, न कि पैकेज के अंदर एक वस्तु। – scravy

+0

एक पैकेज एक फ़ोल्डर है और इसमें जावा-डॉक स्वयं नहीं हो सकता है (और आप केवल फाइलों से लिंक करने में सक्षम हैं)। तो एक सम्मेलन के रूप में आप पैकेज में 'पैकेज-सूचना' कक्षा जोड़ते हैं और इस वर्ग से लिंक करते हैं। – Simulant

+0

आप इस उद्देश्य के लिए पैकेज-info.java में एक आयात का उपयोग नहीं कर सकते हैं। आयात पैकेज के बाद आता है और जावाडोक पैकेज तत्व पर है, इसलिए आयात जावाडोक के बाद होता है और जावाडोक कंपाइलर इसे नहीं देखता है। –

6

मानक जावा doclet के लिए एक @docroot काम करता है के साथ एक सादे लिंक:

/** 
* See the 
* <a href="{@docRoot}/com/mycorp/package-summary.html#package_description"> 
* package overview 
* </a> for more information. 
*/ 

इससे कोई फर्क नहीं पड़ता कि आपको पैकेज-info.java या कक्षा में इसकी आवश्यकता है, {@link} टैग संकुल के लिंक को संभाल नहीं सकता है।

+1

यह वास्तव में प्रलेखन उत्पन्न करते समय काम कर सकता है लेकिन ग्रहण में गतिशील पॉप-अप दस्तावेज़ों के साथ काम नहीं करता है। ग्रहण लिंक के {@link com.mypackage} रूप का समर्थन करता है। –

0

यह एक वैकल्पिक हल के और अधिक है, लेकिन कम से कम अगर आप पैकेज com.foo.Bar में कुछ फ़ाइल से लिंक ग्रहण आप Bar से package-info.java वर्णन में/क्लिक को समझते हुए foo पर बाद में इनलाइन पूर्वावलोकन आदि

में नेविगेट करने की अनुमति देगा
9

दोनों @link और @seesupport linking to packages

मैं अपने package-info.java फ़ाइलों में से एक और जावाडोक उपकरण में निम्न कोड लिंक उत्पन्न करता है:

 
/** 
* <p>Note, however, that the classes in {@link gov.va.med.srcalc.domain} 
* define the vast majority of the data mapping via JPA annotations.</p> 
*/ 
package gov.va.med.srcalc.db;

हम अपने निर्माण उपकरण के रूप में इस्तेमाल करते हैं और Gradle मैं पाया है, हालांकि, कि Gradle उत्पन्न नहीं करता है लिंक करें और reference not found: gov.va.med.srcalc.domain चेतावनी उत्पन्न करता है। शायद यह ग्रैडल में एक बग है।

0

आधा जवाब यह है कि वास्तव में {@link some.package.name} पैकेज के लिए लिंक है।

उत्तर के दूसरे भाग, जैसा कि मैंने अभी भाग्य से पता लगाया है, javadoc को कमांड लाइन पर पैकेज नामों के साथ बुलाया जाना चाहिए। खैर, यह एक अनुमान है, क्योंकि मैं वास्तव में चींटी के <javadoc/> कार्य का उपयोग कर रहा है, लेकिन जैसे ही मैं एक <packageset/> जोड़ने के रूप में, reference not found चेतावनी गायब हो गया और लिंक जहां उत्पन्न जावाडोक में उपलब्ध है।

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