问题标签 [doclet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 无法运行简单的 doclet 程序:com.sun.javadoc 包不存在
我正在尝试运行一个简单的 doclet 程序,但我无法编译它。
但它抛出
A.java:1:错误:com.sun.javadoc 包不存在导入 com.sun.javadoc.ClassDoc;
A.java 在哪里
我从
http://download.java.net/jdk7u2/docs/technotes/guides/javadoc/doclet/overview.html
我知道我犯了一个简单的错误,但我无法弄清楚。谁能指出我做错了什么
java - 使用 doclava 将徽标添加到 javadoc 的左上角
我正在尝试使用 doclava 生成 javadoc,并且需要将徽标/图像添加到 javadoc 的左上角。我可以设法添加项目名称,但在使用徽标时遇到了困难。
提前致谢
javadoc - javadoc doclet:如何获取枚举常量字段
我需要获取枚举常量的字段值。
例如我有这个枚举:
枚举常量可以通过方法 enumConstants() 访问。
如何获得具体枚举常量的声明值?(我需要枚举常量 AAA 具有字段文本的“文本 1”和字段权重的 10 的信息)。
java - 如何将多个源路径添加到 Windows 上的 doclet?
我创建了一个 doclet,它将扫描两个项目(项目 A 依赖于项目 B)所以我必须添加两个源路径。
基于 doclet docs,我必须使用冒号分隔多个源文件夹:冒号分隔的源文件目录列表,如下所示:
但是你可以看到我的测试环境是在windows上,路径有“c:”之类的东西,所以这不起作用。
我尝试使用分号,不起作用。如果我使用一个 sourcepth,它会完美运行:
我该如何解决这个问题?
谢谢!
java - 无法编译 java doclet 程序,获取包 com.sun.javadoc 不存在
我正在尝试编写一个使用com.sun.javadoc包的简单 Java doclet 程序。
而且我还导入了 tools.jar 作为项目的依赖项。而且我可以毫无问题地运行该应用程序,并且可以获得所需的结果。
但是当我尝试使用 maven 编译项目时,它会出现一些错误,并且也会使构建失败。
我检查了其他类似的问题,但他们似乎也没有解决方案。
这里有什么问题!
java - 运行插件时,抛出 MojoFailureException 不会导致显示“BUILD FAILURE”消息
我正在开发一个使用com.sun.tools.javadoc包的 maven 插件。
在我的 Abstract mojo 课程中,我有这个,
在我的 SimpleCheck.java 文件中,我抛出了异常。
正如预期的那样,异常被抛出。
为什么构建仍然成功。抛出的异常不应该使构建失败。在MojoFailureException的文档中它说,
插件执行过程中发生的异常(如编译失败)。抛出此异常会导致显示“BUILD FAILURE”消息。
为什么在这种情况下它没有发生。
注意:我试图在 GreetingMojo.java 类中抛出异常。然后在抛出异常后构建失败。
java - 我可以在自定义 doclet 的帮助下生成 Javadoc 注释吗?
我的评论是什么意思:
我的问题:
我得到了一堆根本没有评论的 DTO。但是,SQL 数据库中有注释。我可以通过发送查询然后检索 ResultSet 来获得这些评论。
我的任务是使用来自 SQL 数据库的注释创建一个 javadoc-API(作为 HTML 并在 javacode 中),以使代码库更易于理解。
我编写了一个从 sql 数据库中检索注释的小型 java 程序。我使用上面显示的所需 javadoc 注释格式将找到的注释写入文件。评论栏中没有文本意味着评论为空(没关系!)
为了澄清,这里是之前和之后的图片。(不用担心文字是德语)
这就是它现在的样子
这就是它应该看起来的样子
如开头所述。我可以在自定义 doclet 的帮助下生成 Javadoc 注释(像这样)吗?有人告诉我,我使用简单的 java 程序的解决方案很好,但是为这个任务制作一个 doclet 会更好。
我尝试了什么:
我阅读了一些关于该主题的 Doclet 概述、Javadoc 常见问题解答和教程。我发现您可以从 com.sun.javadoc.* 扩展 Doclet 类;覆盖 start(RootDoc root) 方法。
有了这个,我可以在这个自定义 doclet 的帮助下打印所需包中的类的字段、标签和方法。
除了这个用例之外,我没有找到有关如何实际编写自己的 Doclet 的更多详细信息。
是否有可能编写一个在您的代码中生成 javadoc 注释的 doclet?或者使用我现有的解决方案来解决问题会更好吗?
这是我现在的自定义 doclet:
java - 使用自定义 doclet 读取 javax 注释
我得到了一堆根本没有评论的 DTO。但是,SQL 数据库中有注释。我可以通过发送查询然后检索 ResultSet 来获得这些评论。
我的任务是使用 SQL 数据库中的注释创建一个 javadoc-API(作为 HTML),以使代码库更易于理解。
在询问了这个任务之后,我试图研究创建我自己的 doclet。然后,我通过从 Java.Tools 重写 Standard-、Abstract- 和 HtmlDoclet 来编写自己的 doclet。我的结果运行良好,我可以使用数据库中的评论创建 javadoc html 页面。
然而,它是一个巨大的黑客恕我直言。为了获得数据库注释,需要完成两项主要任务。
- 知道表名
- 知道列名
应该怎么做:( 这就是我想问的——我该如何实现它?)
对于 1. :找到 @Table 注释。读取名称 = “表名”。
对于 2. :对于每个变量:
有@Column 注释吗?返回“列名”:返回“”
我现在是怎么做的:
对于 1. :我读取 RootDoc.name() 变量,然后逐字符读取字符串。找一个大写字母。插入 '_'。最后,将所有内容都转为 .toUpperCase()。所以“testFile”变成了“TEST_FILE”。
这有时不起作用。如果您在示例类中仔细阅读。它的名称是“SaklTAdrkla”,但数据库表名称是 SAKL_T_ADRKLAS。从 RootDoc.name() 解析名称将导致“SAKL_T_ADRKLA”最后缺少字符“S”,因此它不会在数据库中找到表。
对于 2. :我从 ClassDoc 中获取所有字段。然后,我以与解析 RootDoc.name() 变量相同的方式解析 Field.name()。
由于与 1 相同的原因,这不会起作用。但也因为某些字段名与其映射名称不同。在示例类中 - 字段 sakgTAklgrpAklAkgid 在数据库中映射为 AKL_AKGID
我可以通过调用 FieldDoc.annotations() 找到注释本身。但这只是没有字符串(名称=“xyz”)的注释,这对我来说是最重要的部分!
我找到了可以解析 javax 注释的 Jax-Doclet。然而,在下载 jar-source 文件并实现 java 文件后,由于 java 8 tools.jar 中不再存在引用的类,存在许多无法解决的依赖问题。
是否有另一种能够读取 javax 注释的解决方案?
我可以在我的 doclet 中实现一些东西,以便它可以读取 javax 注释吗?
编辑:
我发现你可以在我可以从 FieldDoc.annotations() 获得的 AnnotationDesc 类上调用 .elementValues()。但是,在检索数组的组件类型时,我总是得到一个 com.sun.jdi.ClassNotLoadedException 类型未加载。为了修复它,我通过调用 Class.forName() 手动加载类 AnnotationDesc 和 AnnotationDesc.ElementValuePair。但是现在带有 elementValuePairs 的数组是空的..?
示例类:
java - 如何在 maven-javadoc-plugin 中正确设置类路径?
我有一个自定义的 java doclet,它会在某些类上调用 newInstance():
当我在 Eclipse 中作为 Junit 运行它时,它运行良好。
但是当我在 maven 中运行它时,它会抛出一个异常: NoClassDefFoundError
我检查了那个类,它不在我当前的项目中,它在一个 Maven 依赖项(第三方 jar)中。
我知道我可以在 maven-javadoc-plugin 中设置类路径。但我的项目有 50 多个第三方 jar。我怎样才能轻松地设置这些罐子?
这是我在 maven pom 中的代码:
谢谢!
java - 从自定义 Doclet 中的类路径加载资源
我编写了自定义 Doclet 实现并使用 Maven javadoc 运行它:
在 customDoclet 类中,我有以下几行:
(1) 行返回 null,(2) 在 javadoc 阶段抛出 execption。
如何使用资源文件?
在带有 CustomDoclet 的 jar 中,根目录中有文件“template/hmtl_template.vm”。