无法编译java doclet程序,因为com.sun.javadoc包不存在

时间:2017-12-25 12:31:14

标签: 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,但他们似乎也没有这方面的解决方案。

这里可能出现什么问题!

2 个答案:

答案 0 :(得分:1)

听起来您没有在pom.xml文件中的<dependency>标记下配置依赖项。

你可以将它粘贴到pastebin.com并粘贴到这里吗?

您可以在此处阅读更多内容:Maven: Introduction to Dependency Mechanism

答案 1 :(得分:1)

我设法解决了这个问题,并使用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>