java - para - que significa alt en una imagen
Enlace de Javadoc al método en otra clase (3)
Actualmente estoy haciendo referencia a métodos en otras clases con esta sintaxis Javadoc:
@see {@link com.my.package.Class#method()}
Y en lo que entiendo de la documentación, esta es la forma correcta de hacerlo. Pero ahora a la parte graciosa, o frustrante. Cuando genero este javadoc, primero obtengo el siguiente error:
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()}
El código HTML generado de esto es:
"," <code>com.my.package.Class#method()}</code> ","
Y, por supuesto, no tengo ningún enlace. ¿Alguien puede decirme qué está pasando y algún consejo sobre cómo solucionarlo?
De acuerdo con la tabla ASCII, los caracteres 123 y 64 para wold representan {y @, entonces, ¿por qué estos caracteres no son válidos cuando esta sintaxis es correcta según la documentación?
Además de @see
, una forma más general de referirse a otra clase y posiblemente al método de esa clase es {@link somepackage.SomeClass#someMethod(paramTypes)}
. Esto tiene el beneficio de ser utilizable en el medio de una descripción de javadoc.
De la docs.oracle.com/javase/7/docs/technotes/tools/windows/… :
Esta etiqueta es muy similar a @see: ambas requieren las mismas referencias y aceptan exactamente la misma sintaxis para el miembro y la etiqueta de package.class #. La principal diferencia es que {@link} genera un enlace en línea en lugar de colocar el enlace en la sección "Ver también". Además, la etiqueta {@link} comienza y termina con llaves para separarla del resto del texto en línea.
Entonces, la solución al problema original es que no necesita las referencias "@see" y "{@link ...}" en la misma línea. La etiqueta "@link" es autosuficiente y, como se señaló, puede colocarla en cualquier lugar del bloque javadoc. Entonces puedes mezclar los dos enfoques:
/**
* some javadoc stuff
* {@link com.my.package.Class#method()}
* more stuff
* @see com.my.package.AnotherClass
*/
Para la etiqueta Javadoc @see
, no necesita usar @link
; Javadoc creará un enlace para usted. Tratar
@see com.my.package.Class#method()