Javadoc warning being shown while generating the package
java, javadoc, maven-javadoc-plugin
Solution
Your problem is actually related to the fact that `Capability` is a static inner class, there are many know issues in the javadoc tool with inner classes, to workaround this problem you should prefix it with its outer class which is `ResourceKit` in your case.
So simply replace this
@see #getResourceKit(Repository, URFResource, Capability...)
with this
@see #getResourceKit(Repository, URFResource, ResourceKit.Capability...)
and this
{@link #getResourceKit(Repository, URFResource, Capability...)}
with this
{@link #getResourceKit(Repository, URFResource, ResourceKit.Capability...)}
Problem
I'm working on the javadocs of a project, fixing all the errors and warnings that Javadoc shows.. But after fixing most of them, there are just this one that is being shown for some reason that I can't imagine. ``` 4 warnings [WARNING] Javadoc Warnings [WARNING] C:\Users\magno\Documents\Globalmentor\Globalmentor's work\marmot\src\main\java\com\globalmentor\marmot\MarmotSession.java:100: warning - Tag @see: can't find getResourceKit(Repository, URFResource, Capability...) in com.globalmentor.marmot.MarmotSession [WARNING] C:\Users\magno\Documents\Globalmentor\Globalmentor's work\marmot\src\main\java\com\globalmentor\marmot\MarmotSession.java:140: warning - Tag @see: can't find getResourceKit(Repository, URFResource, Capability...) in com.globalmentor.marmot.MarmotSession [WARNING] C:\Users\magno\Documents\Globalmentor\Globalmentor's work\marmot\src\main\java\com\globalmentor\marmot\MarmotSession.java:166: warning - Tag @link: can't find getResourceKit(Repository, URFResource, Capability...) in com.globalmentor.marmot.MarmotSession [WARNING] C:\Users\magno\Documents\Globalmentor\Globalmentor's work\marmot\src\main\java\com\globalmentor\marmot\MarmotSession.java:140: warning - Tag @link: can't find getResourceKit(Repository, URFResource, Capability...) in com.globalmentor.marmot.MarmotSession [INFO] Building jar: C:\Users\magno\Documents\Globalmentor\Globalmentor's work\marmot\target\marmot-0.5.1-SNAPSHOT-javadoc.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 33.921 s [INFO] Finished at: 2016-10-21T10:03:11-02:00 [INFO] Final Memory: 29M/412M [INFO] ------------------------------------------------------------------------ ``` The problem is: These references are on the same class than the method, and even Eclipse suggests them when I start writing the references, does anybody know anything else that could give me this warning? Here is the javadocs that shows the warning: ``` /** * Determines if there exists resource kit appropriate for the given resource supporting the given capabilities. * @param repository The repository in which the resource resides. * @param resource The resource for which a resource kit should be returned. * @param capabilities The capabilities required for the resource kit. * @return <code>true</code> if there exists a resource kit to handle the given resource with the given capabilities, if any, in relation to the resource. * @see #getResourceKit(Repository, URFResource, Capability...) */ public boolean hasResourceKit(final Repository repository, final URFResource resource, final Capability... capabilities); /** * Retrieves a resource kit appropriate for the given resource statically if possible, without further resource lookup. This method locates a resource kit in * the following priority: * <p> * The first resource kit supporting the resource content type determined by: * </p> * <ol> * <li>The given content type, if any.</li> * <li>The content determined if possible by {@link #getExtensionContentType(String)} from the resource URI extension.</li> * <li>The resource description is retrieved as a last resort and the resource kit is determined by delegating to * {@link #getResourceKit(Repository, URFResource, Capability...)}.</li> * </ol> * @param repository The repository in which the resource resides. * @param resourceURI The URI of the resource in the given repository. * @param contentType The type of content the resource contains, or <code>null</code> if unknown. * @param capabilities The capabilities required for the resource kit. * @return A resource kit to handle the given resource with the given capabilities, if any, in relation to the resource; or <code>null</code> if there is no * registered resource kit with the given capabilities in relation to the resource. * @throws ResourceIOException if an error occurred retrieving a description of the resource kit. * @see #getResourceKit(Repository, URFResource, Capability...) */ public RK getResourceKit(final Repository repository, final URI resourceURI, final ContentType contentType, final Capability... capabilities) throws ResourceIOException; /** * Retrieves a resource kit appropriate for a MIME content type. This method should only be used for special-purpose functionality; when accessing resources * {@link #getResourceKit(Repository, URFResource, Capability...)} should normally be used instead. * @param contentType The type of content the resource contains. * @param capabilities The capabilities required for the resource kit. * @return A resource kit with the requested capabilities to handle the given content type, or <code>null</code> if no appropriate resource kit is registered. */ public RK getResourceKit(final ContentType contentType, final Capability... capabilities); ``` And here is the method that's being referenced in the javadocs above, it's from the same class: ``` /** * Retrieves a resource kit appropriate for the given resource. This method locates a resource kit in the following priority: * <ol> * <li>The first resource kit supporting the resource content type determined by {@link #determineContentType(URFResource)}.</li> * <li>The first resource kit supporting one of the resource types.</li> * <li>If the resource has a collection URI, the default collection resource kit.</li> * <li>The default resource kit.</li> * </ol> * @param repository The repository in which the resource resides. * @param resource The resource for which a resource kit should be returned. * @param capabilities The capabilities required for the resource kit. * @return A resource kit to handle the given resource with the given capabilities, if any, in relation to the resource; or <code>null</code> if there is no * registered resource kit with the given capabilities in relation to the resource. * @see #determineContentType(URFResource) */ public RK getResourceKit(final Repository repository, final URFResource resource, final Capability... capabilities); ``` Since the project is public, here is a link for the pull request of what I've done for fixing the javadocs: Bitbucket - Globalmentor's Project: MARMOT-5