java - OSGi:Apache Felix Maven 捆绑插件和 Javadoc

标签 java osgi javadoc maven-bundle-plugin

我正在使用 Apache Felix Maven Bundle 插件来生成 OSGi 元数据。

<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>

您可以配置导出哪些包,也可以使用默认值,其中不包括 *.impl.* 和 *.internal.* 等包。

有没有办法只为导出的包生成Javadoc,而不必复制此信息?

编辑:

我当前的方法是手动设置 exceptPackageNames 属性(Maven Javadoc 插件属性),从而复制此信息:

<excludePackageNames>*.internal.*:*.impl.*</excludePackageNames> <!-- used by Javadoc plugin --><!-- TODO: get this from OSGi meta data-->

http://sourceforge.net/p/drombler/drombler-oss-parent/ci/default/tree/pom.xml#l64

最佳答案

Apache Maven 捆绑插件基于bndlib ,它有自己的插件模型。如果 Maven 插件模型对其他 Maven 插件具有类可见性,那么很容易获取此信息。在pom中的说明中注册一个插件:

<instructions>
  <_plugin>com.example.MyPlugin</_plugin>
</instruction>

在此bnd插件中,实现AnalyzerPlugin接口(interface)

boolean analyzeJar(Analyzer analyzer) throws Exception {
   doJavadoc( analyzer.getExportedPackages().keySet() );
}

我对maven插件不太熟悉,因为bnd会做动态类加载器(恶心),它必须能够看到你的代码。

关于java - OSGi:Apache Felix Maven 捆绑插件和 Javadoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11619744/

相关文章:

带有 List 参数的 Javadoc 链接标记

Java 多线程 : how to wait for a method to return a valid value

java - maven从哪里获取${}包围的变量的值?

java - 我正在尝试使用 Mockito 2 模拟最终的 java 类,类被模拟,但我仍然收到未完成的 stub 异常

osgi - 关闭OSGi容器(特别是春分)的最佳方法

java - 如何替换 BndTools 默认启动器并更改导出文件结构

jar - 寻找使用 Apache Felix 动态加载 Jar 文件并在 Java 运行时实例化类的基本示例

java - 如何在Java中读写非英语字符(特殊字符如马拉地语、泰米尔语、印地语等)?

java - 这个 docRoot 变量的位置是什么?

Java Apache POI : excel cell color