- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个包含两个依赖项的 Maven 项目,A 和 B。其中每一个都传递地依赖于 C,但它们依赖于不同版本的 C。假设 A 依赖于 C 版本 1,B 依赖于 C 版本 2。
不幸的是,A 与版本 2 不兼容字节码,B 与版本 1 也不兼容。(碰巧的是,A 是 < em>与版本 2 源代码兼容,但我不认为这对我们有帮助。)
这意味着我的项目中需要传递依赖的两个版本,我需要 A 来使用版本 1,需要 B 来使用版本 2。
有没有办法做到这一点?
我曾假设我需要使用 shade 插件来重新定位 A 的包名称及其所有依赖项,但这似乎是不可能的。如果我遮蔽 A,它的依赖项不会被遮蔽,它仍然选择版本 2,并且无法运行。
最佳答案
创建另一个名为A-wrapper
的项目包装器A
。在 A-wrapper
中重新定位 C
。然后在您的主项目中,依赖于 A-wrapper
和 B
。
我在 pb2 和 pb3 上遇到了类似的问题,并通过这种方式解决了。 https://stackoverflow.com/a/41394239/1395722
关于java - 遮蔽(重新定位)传递依赖的一个版本,但不遮蔽另一个版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30575528/
我在 Interface Builder 中制作了一个标签,具有固定高度和固定宽度的约束: 我将它子类化给它一个白色的圆形边框: class CircularLabel: UILabel {
我有一个包含两个依赖项的 Maven 项目,A 和 B。其中每一个都传递地依赖于 C,但它们依赖于不同版本的 C。假设 A 依赖于 C 版本 1,B 依赖于 C 版本 2。 不幸的是,A 与版本 2
考虑以下 JavaScript 中的阴影示例: let a = 99;
考虑以下 JavaScript 中的阴影示例: let a = 99;
我列出了可以下载的目录中的文件。我制作了我不希望用户能够下载不可点击的对象的复选框。所有目录及部分文件均无法下载。 但我想完全隐藏复选框。令人困惑的是该复选框在那里但无法使用。 我的示例代码位于 js
我有一个使用 vlc 库的媒体播放器应用程序。 VLC 有 'armeabi-v7a' 和 'arm64-v8a' 的 jni 库。现在为了减小大小,我想分别为这两种架构上传 apk,所以我在 gra
对于 MongoDB 的模式验证器,我有以下内容:{ UserSchema.path('email').validate(async function (email: string) { cons
完整的错误信息: Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.3:shade (default) on p
我是一名优秀的程序员,十分优秀!