问题标签 [taglet]

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.

0 投票
1 回答
442 浏览

java - 从 Taglet 访问 Java 注释

我正在做一个项目,我们有一些自定义 Taglet 类用于修改 Javadocs(例如链接到 SVN 中的源代码,添加引用)等等。我们想做的一件事是能够获取源中使用的注释并从中操作信息。

Taglet 接口似乎没有提供一种简单的方法来访问 Java 源代码中的注释。有人知道这是否可能吗?

我正在使用 JDK 1.5

0 投票
2 回答
630 浏览

java - 如何在 com.sun.javadoc.Taglet 中获取 {@docroot} 的值?

我正在编写一个自定义 taglet,用于在 javadoc html 文件中包含 mathML 文件。我想将我所有的 *.mml 文件存储在同一个文件夹中,可能在

文件夹。我的问题是:我如何知道 Taglet 对象内的@docRoot 字符串的值(更具体地说,在toString(com.sun.javadoc.Tag tag)方法内?非常感谢!

0 投票
2 回答
1994 浏览

java - 在自定义 Javadoc taglet 中展开内联标记

我编写了一个自定义 Javadoc taglet,它添加了一个新note标签:

到目前为止它可以工作,但内联标签没有展开。这是一个示例评论:

{@link}联标记未展开。但是,它适用于内置的paramjavadoc 标记。

有没有办法在自定义 Javadoc 标签中扩展嵌套的内联标签?

谢谢!

0 投票
1 回答
592 浏览

java - 在 Netbeans 中使用带有 Javadoc 的 taglet

我编写了一个自定义 taglet,对其进行了编译,现在我正在尝试使用它,但是当我尝试使用 javadoc 运行它时,不断收到 ClassNotFoundException:

javadoc: error - Error - Exception java.lang.ClassNotFoundException thrown while trying to register Taglet proj2.javadoc.CustomTaglet...

在文档下的 netbeans 中,我指定了以下参数:

-taglet proj2.javadoc.CustomTaglet -tagletpath c:\

我已经将类文件放在 C:\ 中(至少现在),并且我已经三次检查了类名,但我仍然遇到异常。我在这里缺少什么吗?

0 投票
1 回答
244 浏览

java - 如何创建代理并将其迁移到远程主机?

我正在寻找基于集中爬行的多代理系统。我见过不同的移动框架,例如 Aglet、JADE 等。我的工作是想在常驻本地主机上创建一些代理,并希望将其与参数一起移动到常驻远程主机。我的问题是,我应该使用哪个框架来创建代理?以及如何创建代理并通过中间代理将其迁移到远程主机。请给我一些示例代码如何创建代理和迁移它。谢谢你。

0 投票
0 回答
317 浏览

java - Netbeans 生成的 javadoc 中的 LaTeX 数学?

有没有办法在 Netbeans 生成的 javadoc 中包含 LaTeX 公式?我发现以下标签:http: //users.informatik.uni-halle.de/~grau/LaTeXlet/index.html

它需要修改 javadocs 参数...

我怎样才能做到这一点?

0 投票
1 回答
997 浏览

java - 在自定义 JavaDoc Taglet 中加载类?

我正在编写一个自定义 JavaDoc Taglet,并且想要加载并创建一个正在处理 JavaDoc 的类的实例。这是我的代码(公共类 CDKIOOptionsTaglet 实现 Taglet):

这是 Ant 脚本,包括将要加载的类添加到调用期间使用的类路径的 jar:

我为其创建 JavaDoc 的类位于 dist/jar 中的 jar。为了完整起见(并根据要求),这是完整的电话:

我用“ant -v”确认适当的 jar 确实包含正在加载的类。尽管如此,我还是得到了这个堆栈跟踪:

如何让 Taglet 加载它为其创建 JavaDoc 的类,以便我可以使用反射(等)来了解有关该类的更多信息,并将其作为 Taglet 输出的一部分返回?

0 投票
1 回答
231 浏览

java - 如何使内联 taglets(需要 com.sun)更具跨平台性?是否有非 Oracle/更多跨平台的 javadoc 解析器?

我正在编写一个库,它将已经单元测试的示例代码(它的源代码、输出和任何输入文件)插入到 JavaDoc 中,具有很多定制的可能性。使用这个库的主要方式是使用内联 taglets,例如

由于自定义taglets(甚至doclets)需要com.sun,这意味着它们不像 Java 本身那样跨平台。(不确定这是否相关,但“javadoc”这个词——甚至是子字符串“doc”——不在Java 8 语言规范中。)

我不喜欢以这种方式编写一个受限的库的想法。那我该怎么办?到目前为止我的想法是

  • 为了利用现有的 javadoc 解析器,我坚持使用com.suntaglets。com.sun但是,我尽可能地“瘦”这种依赖。也就是说,我将尽可能少的代码放在 taglet 类中,将大部分代码留在不依赖com.sun.
  • 我致力于创建自己的解析器,它只搜索我的特定 taglets。这是一种痛苦,但并不可怕。您遍历每个 Java 源文件的行,搜索\{@\.myTagletName (.*?)\}. 捕获该文本后,它与com.suntaglet 中的代码几乎相同。
  • 这个解析器必须在执行 javadoc 之前运行,因此需要一个重复的目录结构。(1) 您的原始代码,带有未解析的自定义标签,(2) 该代码的副本,带有解析的输出。我将所有代码复制到重复目录,然后仅解析那些已知具有这些标记的 Java 文件(以某种方式使用解析器“注册”的类)。

这是一个合理的方法吗?是否已经有更多的跨平台 javadoc/taglet 解析器,所以我不必自己动手?有没有什么跨平台的东西已经存在了?JavaDoc本身不是跨平台的,还是只是自定义的 taglet 和 doclet?

由于这个决定(使用内联标签),我想大致了解有多少人被锁定在我的图书馆之外,但主要是我正在寻找一个长期的解决方案。

(尽管上面有我的 Java 8 链接,但我使用的是 Java 7。)


感谢 @fge 提出的 taglet 建议,这比我最初的想法更优雅,感谢 @Michael 提供不祥但有用的com.sun警告。

0 投票
1 回答
51 浏览

java - taglet 如何知道它所在的类?

据我所见,taglet api 在其包中只有一个类:Taglet,如果您更改Taglet.htmlpackage-summary.html,则其中没有其他内容(并且有这个有点吓人的消息:

从 JDK 1.5 版开始,替换为com.sun.tools.doclets.internal.toolkit.util.

我假设这不会影响Taglet界面本身。)

接口中没有关于 taglet 所在类的任何信息——对其上下文一无所知。

反正有没有得到标签被“调用”的类的名称?具有JavaDoc 块的类在其中{@.myTaglet}存在?

作为一个黑客,我正在考虑强制用户{@.thisClass my.package.AClass}在使用我的任何自定义标签之前将其设置在顶部。

更好的想法会很棒。

(这里是 Sun 的taglet 概述。)


(另外,请考虑查看我之前的问题,这是另一个 taglet 问题:How to make inline taglets (which requires com.sun) more cross-platform? Is there a non-Oracle/more-cross-platform javadoc parser?

0 投票
1 回答
443 浏览

java - 如何在 Eclipse 中通过 Java 使用 Taglet 或 Tag

我正在尝试为我的项目使用 Taglet 或 Tag,因为我需要在我的 javadoc 中创建新类型的标签。但我没有找到任何有用的例子。
我需要知道的是是否存在任何很好的用法示例。我没有找到有关它的教学视频。只是Oracle API 上的文档 - http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#tag。任何提示都会有所帮助。