java - AEM/CQ - javax.xml.namespace 无法解析 OSGI 依赖项

标签 java maven osgi aem

我正在使用 AEM 6.2,目前正在实现 WebService。 我在外部创建的 OSGI 包中包含了所有依赖项 jar,并且所有依赖项问题都得到了解决,除了一个:

javax.xml.namespace,version=[1.0,2) -- Cannot be resolved

当我使用 depfinder 工具 checkin Maven 时,它显示如下:

<dependency>
    <groupId>org.apache.sling</groupId>
    <artifactId>org.apache.sling.fragment.ws</artifactId>
    <version>1.0.2</version>
    <scope>provided</scope>
</dependency>

但是,在我的其他自定义项目中,javax.xml.namespace 显示已解析状态。

我陷入了这种情况,任何指示都将非常感激。

谢谢, 吉尼特

最佳答案

如果仔细查看“Package Dependency”工具的输出,您将看到 Maven 依赖项的版本为 1.0.2 。另一方面,此软件包的导出版本是 0.0.0.fragment_xml

Package Dependency Tool java.xml.namespace exported version

我不知道为什么会这样,但这意味着您需要使用一些解决方法来解决此版本的 bundle 。

您基本上要做的就是更新您的 MANIFEST.MF并将导入的版本从 1.0.2 更改为至0.0.0.fragment_xml .

我们正在使用 Maven 和 maven-bundle-plugin插件来实现这一点:

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <extensions>true</extensions>
    <configuration>
        <instructions>
            <Import-Package>
                javax.xml.namespace;version="0.0.0.fragment_xml",
                *
            </Import-Package>
        </instructions>
    </configuration>
</plugin>

我希望这会有所帮助。

关于java - AEM/CQ - javax.xml.namespace 无法解析 OSGI 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44370232/

相关文章:

java - 如何获取 Maven Shade 插件构建的 uberjar 中包含的 jar 列表?

java - 一个类,两个类加载器

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

java - OSGI 环境中的 Spring 应用程序

java - 如何生成两个大于10^25的素数p1,p2

java - 遍历 Map 时允许对 Map 执行哪些基本操作?

java - 如何允许一个类中的按钮设置其他类中其他面板的可见性?

java - eclipse :eclipse in maven?后如何执行代码

java - 需要在 AspectJ 项目中配置 Spring AOP Advice

java - Linux下用Java写的如何创建带空格的文件夹?