【问题标题】:Unable to resolve javax.transaction.xa partial=true无法解析 javax.transaction.xa partial=true
【发布时间】:2020-08-31 07:07:27
【问题描述】:

我正在尝试使用 apache-commons 中的 dbcp2 来设置数据源,但我无法安装 commons-dpcp2 包,因为它抱怨缺少要求 javax.transaction.xa 包版本>=1.1.0 强制:=部分;部分=真。

这个确切的版本是通过 karaf 的事务功能(在 4.2.1 上)安装在运行时中的(尽管没有强制:=partial;partial=true 指令或标志或任何你想称呼它的东西)

所以看来我无法安装 dbcp2 并在没有黑客攻击的情况下使用它...任何人都有解决此问题的“正常”解决方案,或者我必须像柯南一样撕开衬衫并重新打包 dbcp2?

另外,如果 apache 包装中的任何人偶然发现了这个,为什么你要以这种“有趣”的方式包装它???为什么要附加这些最终什么都不做的临时标志?放弃吧。

【问题讨论】:

    标签: osgi apache-commons apache-karaf apache-commons-dbcp


    【解决方案1】:

    多么巧合 ;) - 由 https://issues.apache.org/jira/browse/KARAF-6715 修复和解释

    【讨论】:

    • 理论上,这个标志不应该出现在 dbcp 包上。我如何管理我的运行时以及哪些包提供哪些包、javax.transaction.* 或其他什么取决于我。严格来说,从 dbcp 的角度来看,这是或应该是无关紧要的......“我需要来自 API 的包 X 版本 X.X”就是它需要声明的全部......假设包 X 是在标准 API 中定义的
    • 我同意,DBCP2 应该更好地管理 OSGi 清单,但根据我的经验,我知道许多库添加了“OSGi 支持”作为 OSGi 社区的一次性贡献,然后它就保持原样。 ..
    猜你喜欢
    • 2021-09-27
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多