it-swarm.dev

Javadoc تصل إلى طريقة في فئة أخرى

حاليًا أقوم بالإشارة إلى طرق في فصول أخرى باستخدام بناء جملة Javadoc:

@see {@link com.my.package.Class#method()}

وفي ما أفهمه من الوثائق ، فهذه هي الطريقة الصحيحة للقيام بذلك. ولكن الآن إلى الجزء مضحك ، أو محبطة. عندما أقوم بإنشاء هذا javadoc ، أولاً ، أتلقى الخطأ التالي:

warning - Tag @see:illegal character: "123" in "{@link com.my.package.Class#method()}"
warning - Tag @see:illegal character: "64" in "{@link com.my.package.Class#method()}"
warning - Tag @see: reference not found: {@link com.my.package.Class#method()}

كود HTML الذي تم إنشاؤه لهذا:

"," <code>com.my.package.Class#method()}</code> ","

وبالطبع ليس لدي رابط. هل يمكن لأحد أن يقول لي ما يحدث وأي تلميحات حول كيفية إصلاح هذا؟

وفقًا لـ ASCII تمثل حروف الجدول 123 و 64 لـ wold {و @ ، فلماذا لا تكون هذه الأحرف صحيحة عندما يكون بناء الجملة صحيحًا وفقًا للوثائق؟

193
Robert

بالنسبة إلى علامة Javadoc @see ، لن تحتاج إلى استخدام @link؛ سوف Javadoc إنشاء رابط لك. محاولة

@see com.my.package.Class#method()

إليك المزيد من المعلومات حول @see.

234
rgettman

بصرف النظر عن @see ، هناك طريقة أكثر عمومية للإشارة إلى فئة أخرى وربما طريقة لتلك الفئة هي {@link somepackage.SomeClass#someMethod(paramTypes)}. هذا له فائدة من أن تكون قابلة للاستخدام في منتصف وصف javadoc.

من وثائق javadoc (وصف العلامةlink) :

هذه العلامة مماثلة جدًا لـsee - كلاهما يتطلبان المراجع نفسها ويقبلان تمامًا بناء الجملة نفسه لـ package.class # member والتسمية. الفارق الرئيسي هو أن {link} تنشئ رابطًا مباشرًا بدلاً من وضع الرابط في قسم "راجع أيضًا". أيضًا ، تبدأ العلامة {link} وتنتهي بأقواس مجعدة لفصلها عن بقية النص الموجود في السطر.

125
Javarome

وبالتالي فإن حل المشكلة الأصلية هو أنك لا تحتاج إلى كل من المراجع "@ See" و "{link ...}" في نفس السطر. تعد العلامة "link" مكتفية ذاتيا ، وكما ذكرنا ، يمكنك وضعها في أي مكان في كتلة javadoc. لذلك يمكنك مزج الطريقتين:

/**
 * some javadoc stuff
 * {@link com.my.package.Class#method()}
 * more stuff
 * @see com.my.package.AnotherClass
 */
45
Dave Hentchel