简体   繁体   中英

How to exclude certain class/packages/public members from javadoc

I have created java api -ported from C# to be more specific- which aside from public interface, contains a lot of internal stuff that I don't want a user to know about. In C#, I have used doxygen to generate documentation. I presume javadoc has similar features to exclude certain public members, classes, even packages.

Would someone suggest how do that, perhaps via eclipse?

Thanks

I believe that in Eclipse, the only kind of exclusions you can specify are things like "exclude all protected members" and package-based exclusions (not class-based exclusions.)

If you're using Ant to generate them, you can use the nested "package" element, and you can use a fileset nested element and add exclusions to that fileset.

For example:

<javadoc >
    <sourcefiles>
          <fileset dir="${src}">
              <include name="**/*.java"/>
              <exclude name="**/ClassToExclude.java"/>
          </fileset>
    </sourcefiles>
    <packageset>
          <dirset dir="${src}">
              <include name="com.mydomain.*"/>
              <exclude name="com.mydomain.excludePackage"/>
          </dirset>
     </packageset>
</javadoc>

PS - I've used the <sourcefiles> element alot, but never the <packageset> element. The latter might not be spot-on syntactically.

Sure, when you "Generate Javadoc", you can select the package concerned by this process and exclude the others

alt text http://www.filigris.com/products/docflex_javadoc/images/eclipse_javadoc_1.png

(here the picture shows the javadoc generated with another tool, but that does not change the general idea)

You can use doxygen with Java. I am not aware of any tools that do what you want with Javadoc.

Superpackages should be coming in JDK 7 which I beleive could address this: http://blogs.oracle.com/andreas/entry/superpackages_in_jsr_294

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM