【问题标题】:Javadoc in Eclipse failing to recognize packagesEclipse 中的 Javadoc 无法识别包
【发布时间】:2011-07-09 04:26:41
【问题描述】:

感谢this thread,我能够获得Javadoc 链接,以便在Windows 上的Eclipse 中为我的Android 项目工作。具体来说,“{@link android.widget.Toast}”当前被转换为指向“http://d.android.com/reference/android/widget/Toast.html?is-external=true”的链接。我使用 Javadoc 选项实现了这一点:

-linkoffline http://d.android.com/reference “文件:/C:/Android/android-sdk-windows/docs/reference”

但是,根据我的 Java 代码行(不是 Javadoc cmets),我收到如下错误:

C:\Users\Ellen\workspace\TestableToast\src\edu\mills\cs180\HelloAndroid.java:5: 包 android.view 不存在 导入android.view.View; ^ C:\Users\Ellen\workspace\TestableToast\src\edu\mills\cs180\HelloAndroid.java:6: 包 android.view.View 不存在 导入 android.view.View.OnClickListener; ^ C:\Users\Ellen\workspace\TestableToast\src\edu\mills\cs180\HelloAndroid.java:8: 包 android.widget 不存在 导入 android.widget.Toast; ^ C:\Users\Ellen\workspace\TestableToast\src\edu\mills\cs180\HelloAndroid.java:10: 找不到符号符号:活动类 公共类 HelloAndroid 扩展 Activity 实现 OnClickListener { ^

如何修复这些引用?

【问题讨论】:

    标签: android eclipse javadoc


    【解决方案1】:

    您还需要将 android 类放在您的 javadoc 类路径中。为此,将 android jar 文件添加到 javadoc 的 -classpath 参数(就像您为编译器所做的那样)。

    不过,我不知道 Eclipse 是否以及在何处为此提供了一些配置选项。

    【讨论】:

    • 谢谢!做到了。 “Generate Javadoc...”向导中的最后一个屏幕允许指定命令行选项,因此我添加了 '-classpath "C:/Android/android-sdk-windows/platforms/android-4/android.jar" '。
    • 我收到“javadoc: 错误 - -classpath 选项只能指定一次。现在出错。”
    • @KarlMorrison 如果您的命令行已经有-classpath ... 选项,则不应添加另一个,而是将jar 文件添加到现有的(在Windows 上由; 和: 分隔在 unix 系统上)。
    【解决方案2】:

    在“生成 Javadoc...”向导的最后一个屏幕中添加 -classpath 参数对我不起作用:我收到一条错误消息,指出 -classpath 参数只能指定一次。

    不是真正的解决方案,而是一种解决方法:

    • 在“生成 Javadoc...”向导中,选中“将此 Javadoc 导出的设置保存为 Ant 脚本”选项。这会在项目目录中生成javadoc.xml 文件
    • 编辑javadoc.xml 文件并编辑类路径属性。具体来说,在此处添加“/path/to/sdk/platforms/android-##/android.jar”以及您收到警告消息的任何其他 jars
    • 使用:ant -buildfile javadoc.xml 生成 javadoc。为方便起见,我将此行放在javadoc.sh shell 脚本中。

    【讨论】:

    • 谢谢!我终于能够生成我的 Javadoc。值得补充的是,您可以从 Eclipse Ant View 执行构建文件(添加构建文件然后运行它)。我不得不这样做,因为 javadoc 拒绝了 -buildfile 参数。
    • 我遇到了同样的错误——但是,如果您将 -classpath 更改为 -bootclasspath,那么它可以正常工作。
    【解决方案3】:

    上面的答案都很好!在您的 javadoc.xml 中包含类路径并运行是通过 ant-command 或 eclipse -> Run As -> Ant Build

    但请确保路径中没有空格!我在使用 C:/Program Files/... 时遇到了这个问题,直到我将其更改为 C:/Progra~1/...

    也将路径放在引号中对我不起作用。

    【讨论】:

      【解决方案4】:

      eclipse 中的这个解决方法对我有用:

      1. 转到 Project=>Properties 并选择“Java Build Path”
      2. 选择“订购和导出”标签
      3. 将“android 2.x.x”和“Android Dependencies”移到列表顶部

      【讨论】:

        【解决方案5】:

        这对我来说在 Eclipse 中有效:

        1. 项目 --> 生成 Javadoc
        2. 转到“配置 Javadoc 参数”。
        3. 在 VM 选项中添加“-bootclasspath /path/to/sdk/platforms/android-##/android.jar”

        【讨论】:

        • 这里也一样。谢谢! :)
        • 它的作品对我来说没有引号。引号生成无法识别的标签错误。
        • 顺便说一句,这也适用于 Android Studio。我刚刚使用 -bootclasspath /Users/username/Library/Android/sdk/platforms/android-22/android.jar 为我的 Android 库项目完美地生成了一个 JavaDoc
        • 此解决方案适用于一个开发人员,但不适用于整个团队。没有硬编码的本地路径就没有解决方案吗?我可以添加到 gradle build 任务中以动态公开类路径吗?
        【解决方案6】:

        项目 > 生成 Javadoc。然后,转到“配置 Javadoc 参数”并 在 VM 选项中添加“-bootclasspath /path/to/sdk/platforms/android-##/android.jar”。

        为我工作:)

        【讨论】:

          【解决方案7】:

          Windows Eclipse 解决方案

          将android.jar 添加到-classpath 确实是正确的方法。不需要 ANT,但也是可行的。如果您想使用 Eclipse GUI(文件->导出->Java->Javadoc)生成 Javadoc,则在对话框中没有编辑类路径的选项。您需要事先正确设置类路径。实现这一目标的两种方法:

          1. 手动编辑<path_to_your_project>/.classpath 并添加以下行:

            <classpathentry kind="lib" path="<path_to_your_android_skd>/platforms/android-<version>/android.jar"/>
            
          2. 右键单击您的项目->属性->Java 构建路径->库->添加外部 JAR->导航到 &lt;path_to_your_android_skd&gt;/platforms/android-&lt;version&gt;/android.jar

          我发现 Eclipse GUI 方法比在此处的一些答案中提示的使用 ANT 更好,因为您可以在控制台中的任何 Javadoc 警告/错误中获得对源代码的可单击引用。使用 ANT 时,您在控制台中得到的只是 javadoc.exe 命令的打印输出。

          【讨论】:

            【解决方案8】:

            感谢@PaŭloEbermann 和@MarcelD-B 提供的答案,我能够理解问题的根本原因。但是,由于我使用的是Android Studio,所以我对在哪里添加argument. 有点困惑。一段时间后,我终于弄明白了,我把它作为任何其他人的答案类似的问题。

            对于Android Studio,打开Tools &gt; Generate JavaDocs并在Other command line arguments:中添加以下argument-

            -bootclasspath /path/to/sdk/platforms/android-##/android.jar
            

            注意:- 无需在argument. 中添加任何逗号但是,如果您的SDK Path 包含空格,则将路径用双引号引起来(")。例如-我的SDK Path 包含空格,所以我使用了argument-

            -bootclasspath "F:\Android SDK\platforms\android-21\android.jar"
            

            【讨论】:

              猜你喜欢
              • 2012-04-22
              • 2012-10-20
              • 2014-09-17
              • 1970-01-01
              • 2013-11-18
              • 2012-04-19
              • 2015-12-11
              • 1970-01-01
              相关资源
              最近更新 更多