【问题标题】:Adding Embeded-Dependency in maven在maven中添加嵌入式依赖
【发布时间】:2013-03-31 10:02:24
【问题描述】:

实际上,当我构建我的项目时,它会将捆绑包部署到正在运行的 OSGI 控制台。现在该包处于已安装状态,并显示无法找到 commons-net 包的红色警报。

解决此问题的一种方法是将捆绑包显式安装到正在运行的 osgi 框架本身。

另一种方法是在 maven 中添加 Embeded-Dependency。但这种方法行不通。 我在 maven-build-plugin 的指令标签中添加了 Embeded-Dependency。它没有显示任何错误。

如果有任何建议,请告诉我。

【问题讨论】:

  • 请提供更多关于它是如何失败的信息......“这种方法不起作用”根本没有帮助。

标签: maven osgi pom.xml apache-felix maven-bundle-plugin


【解决方案1】:

Embeded-Dependency 没有显示任何错误,因为您可以将任何内容放入说明中。如果不知道键值对,它将简单地插入到 MANIFEST.MF 中。尝试编写 Embed-Dependency,它应该可以工作。

一个很好的例子如下(我们如何为自己创建休眠包):

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <extensions>true</extensions>
    <configuration>
        <instructions>
            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
            <_exportcontents>
                !org.hibernate.validator.*,
                org.hibernate.*;-noimport:=true,
            </_exportcontents>
            <Import-Package>
                javax.persistence*;version="1.1.0",
                javax.naming*,
                javax.sql,
                javax.transaction*;version="1.1.0",
                javax.xml.stream.*,
                javax.xml.*,
                org.slf4j,
                org.w3c.dom,
                org.xml.sax*,
                antlr.*,
                org.jboss.logging.*,
                org.dom4j*,
                *;resolution:=optional
            </Import-Package>
            <Embed-Dependency>
                groupId=org.hibernate;artifactId=hibernate-core,
                groupId=org.hibernate;artifactId=hibernate-entitymanager,
                groupId=org.hibernate.common;artifactId=hibernate-commons-annotations
            </Embed-Dependency>
        </instructions>
    </configuration>
</plugin>

【讨论】:

    猜你喜欢
    • 2017-07-22
    • 2017-03-24
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 2011-10-12
    • 2013-10-12
    • 1970-01-01
    • 2019-08-18
    相关资源
    最近更新 更多