java - 无法编译 java doclet 程序,获取包 com.sun.javadoc 不存在

标签 java maven doclet

我正在尝试编写一个简单的 Java doclet 程序,它使用 com.sun.javadoc 包。

而且我还导入了tools.jar 作为项目的依赖项。我可以毫无问题地运行该应用程序,并且可以获得所需的结果。

但是当我尝试使用 Maven 编译项目时,它会出现一些错误,并且构建也会失败。

[ERROR] /home/xxx/xxx/Check.java:[20,33] cannot find symbol
symbol:   class RootDoc
location: class com.sic.checkers.Check
[ERROR] /home/xxx/xxx/Check.java:[26,39] cannot find symbol
symbol:   class PackageDoc
location: class com.sic.checkers.Check
[ERROR] /home/xxx/xxx/ListTags.java:[3,1] package com.sun.javadoc does not exist
[ERROR] /home/xxx/xxx/ListTags.java:[6,33] cannot find symbol
symbol:   class RootDoc
location: class com.sic.checkers.ListTags
[ERROR] /home/xxx/xxx/ListTags.java:[12,39] cannot find symbol
symbol:   class ClassDoc
location: class com.sic.checkers.ListTags

我查看其他similar questions但他们似乎对此也没有解决方案。

这可能是什么问题!

最佳答案

我设法解决了这个问题,并使用 maven 编译和构建代码。在 this thread 的帮助下完成的。 @GuyKhmel 还建议将缺少的依赖项添加到 pom.xml 中。

添加了项目的依赖项。

    <dependency>
        <groupId>com.sun</groupId>
        <artifactId>tools</artifactId>
        <version>1.4.2</version>
        <scope>system</scope>
        <systemPath>${java.home}/../lib/tools.jar</systemPath>
    </dependency>

关于java - 无法编译 java doclet 程序,获取包 com.sun.javadoc 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47968650/

相关文章:

java - Google 应用引擎运行缓慢

java - 在 Java 中定义最终的 String 有意义吗?

java - Primefaces 应用程序无法运行

java - 有没有办法为公共(public)方法的子集生成 Javadoc?例如通过将公共(public)方法注释为 "not part of the public API"

Javadoc 私有(private)方法

java - 仅在完全写入并关闭后才从 HDFS 读取文件

Java 和 SQL : return null or throw exception?

java - Tomcat 禁用序列化比较

java - 如何让maven项目从自己的目录而不是工作目录中识别文件?

java - 使用 doclava 将 Logo 添加到 javadoc 的左上角