Eclipse 飞道P2储存库

Eclipse 飞道P2储存库,eclipse,repository,tycho,p2,flyway,Eclipse,Repository,Tycho,P2,Flyway,我正在使用一个eclipse产品,其中我们使用maven/tycho构建系统和OSGI:Equinox的组合来构建我们的产品。我想知道flyway core jar文件是否有专用的p2存储库?没有 但您可以将其作为pom依赖项添加到eclipse存储库项目或可部署特性项目中。这两种项目类型都构建P2存储库。然后,您可以将该存储库添加到目标平台 对于使用第三方捆绑包与第谷的问题,我写了一个更一般的答案 顺便说一句,我发现FlywayCore2.0.3在OSGi容器中,特别是在Eclipse中工作得

我正在使用一个eclipse产品,其中我们使用maven/tycho构建系统和OSGI:Equinox的组合来构建我们的产品。我想知道flyway core jar文件是否有专用的p2存储库?

没有

但您可以将其作为pom依赖项添加到eclipse存储库项目或可部署特性项目中。这两种项目类型都构建P2存储库。然后,您可以将该存储库添加到目标平台

对于使用第三方捆绑包与第谷的问题,我写了一个更一般的答案

顺便说一句,我发现FlywayCore2.0.3在OSGi容器中,特别是在Eclipse中工作得不是很好。例如,它使用TCCL(线程上下文类加载器)查找迁移及其内部脚本。如果不创建一个配置了迁移包URL和flyway核心包URL的URLClassLoader,我就无法找到让它工作的方法。由于使用commons日志记录,日志记录也很难以一种不会影响其他OSGi捆绑包的健壮方式进行配置


我的印象是,flyway现在在OSGi环境中付出的努力远远超过了它的价值。我在谷歌代码项目上看到了这些问题的报道。看起来类加载问题可能会得到解决,但日志记录不被认为是一个问题。

commons日志记录依赖项现在在OSGI清单中是可选的(在2.0.3中被错误地标记为required,即使代码不需要它),我想这会有所帮助。但是,如果这一切都改变了,那么在Eclipse插件中配置日志来做一些有用的事情可能仍然很困难。也就是说,即使清单声明它是可选的,Eclipse仍然会决定它可以提供它,所以行为是一样的。是的,我甚至在让flyway插件在我的项目的一些示例代码中工作时遇到了一些困难。我将把这个标记为现在的答案,抱歉耽搁了。