【问题标题】:P2 repository for flywayFlyway 的 P2 存储库
【发布时间】:2013-01-26 19:50:12
【问题描述】:

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

【问题讨论】:

    标签: eclipse repository tycho p2 flyway


    【解决方案1】:

    没有。

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

    我为 Tycho here 使用第三方捆绑包的问题写了一个更一般的答案。

    顺便说一句,我发现 flyway-core 2.0.3 在 OSGi 容器中不能很好地工作,特别是在 Eclipse 中。例如,它使用 TCCL(线程上下文类加载器)来查找您的迁移及其内部脚本。如果不创建一个 URLClassLoader,该 URLClassLoader 配置了带有迁移的我的包的 URL 和 flyway-core 包的 URL,我找不到让它工作的方法。由于使用了 commons-logging,日志也难以以不会影响其他 OSGi 包的稳健方式进行配置。

    我的印象是,flyway 现在在 OSGi 环境中付出的努力多于其价值。我在 Google Code 项目中看到了这些问题。看起来类加载问题可能会得到解决,但不接受日志记录作为问题。

    【讨论】:

    • commons-logging 依赖现在在 OSGI 清单中是可选的(在 2.0.3 中被错误地标记为必需,即使代码不需要它)
    • 我想这会有所帮助。但是,如果这一切都改变了,那么配置日志记录以在 Eclipse 插件中做一些有用的事情仍然可能很困难。也就是说,即使清单声明它是可选的,Eclipse 仍然会决定它可以提供它,所以行为是相同的。
    • 是的,我什至在让 flyway 插件在我的项目的一些示例代码中工作时都遇到了一些困难。我暂时将其标记为答案,抱歉耽搁了。
    猜你喜欢
    • 1970-01-01
    • 2011-02-24
    • 2020-12-06
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 2017-07-15
    • 2014-05-16
    相关资源
    最近更新 更多