【发布时间】:2015-09-09 08:58:14
【问题描述】:
当我运行mvn clean install 时,maven 抛出以下异常:
导出不在 Bundle-Classpath[Jar:dot] 上的包
前几天可以编译成功,为什么会这样?
【问题讨论】:
-
自从回答这个问题后,我看到原始问题here 包含更多信息。最好不要两次问同一个问题,其中包含的信息量完全不同!
标签: apache-flex osgi
当我运行mvn clean install 时,maven 抛出以下异常:
导出不在 Bundle-Classpath[Jar:dot] 上的包
前几天可以编译成功,为什么会这样?
【问题讨论】:
标签: apache-flex osgi
如果没有 POM 配置的详细信息,很难确定,但看起来您正在使用基于 bnd 的插件,这可能意味着 maven-bundle-plugin 或 bnd-maven-plugin。
在任何一种情况下,正在生成的包都在导出一个不在包中的包。这是破坏应用程序的可靠方法,因此 bnd 无法创建包。
猜测(因为我没有太多信息可以继续)发生了以下情况之一:
. 无关。 修复前三个问题很容易,要么修复包名,要么重新添加正确的依赖项,要么删除导出。最后两个也很容易修复。你可以像这样改变你的包类路径:
Bundle-ClassPath: /path/to/my.jar, /path/to/another.jar, /path/to/folder
另一个可能更好的选择是不将代码包含在嵌套的 JAR 文件中,而是将代码直接嵌入到您的包中。这意味着调整您的插件配置以使用嵌入语法。因为我不知道你用的是什么插件,所以我不能给你一个例子,但是 bnd 的包含资源的文档是 here
【讨论】: