我正在开发我的第一个confluence插件。该插件包含一些使用其他客户端的宏。在执行宏期间,我的一些类在ClassNotFound异常中找不到。 该文档告诉我,我必须导出我的包,使它们对OSGI包类加载器“可见”。 根据文档,这可以在atlassian-plugin.xml或模块的pom文件中完成。 我的pom文件包含以下部分:
<build>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-confluence-plugin</artifactId>
<version>${amps.version}</version>
<extensions>true</extensions>
<configuration>
<productVersion>${confluence.version}</productVersion>
<productDataVersion>${confluence.data.version}</productDataVersion>
<instructions>
<Export-Package>
info.magnolia.confluence.plugin.mib;version="${project.version}",
info.magnolia.confluence.plugin.mib.artifactstore;version="${project.version}",
info.magnolia.confluence.plugin.mib.macro;version="${project.version}",
info.magnolia.confluence.plugin.mib.nexus;version="${project.version}",
info.magnolia.confluence.plugin.mib.nexus.client;version="${project.version}",
info.magnolia.confluence.plugin.mib.nexus.config;version="${project.version}",
info.magnolia.confluence.plugin.mib.nexus.jaxb;version="${project.version}",
info.magnolia.confluence.plugin.mib.util;version="${project.version}"
</Export-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
(有关完整的pom,请参阅http://pastebin.com/QSJajG8r)
当我检查MANIFEST.MF时,它看起来“正确”,至少我看到我的导出(并且导入已自动添加),请参阅http://pastebin.com/Gq2aKEYp。 (嗯......清单的格式有点奇怪......)
但是,我仍然遇到ClassNotFound异常。
有人可以解释一下我必须以OSGI类加载器找到它们的方式“导出”我的包吗?
答案 0 :(得分:0)
您是否添加了依赖项?
例如,
enum
此致 戈尔卡