问题标签 [conflicting-libraries]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Maven 将依赖中介策略设置为最新而不是最近
我可以将 Maven 配置为选择冲突的“最新”依赖项,而不是“最近的”吗?
“最新”是 Ivy 和其他明智的依赖管理器中的默认值,请参阅http://ant.apache.org/ivy/history/2.2.0/settings/conflict-managers.html
我发现“最近”策略很少是我想要的。
我正在使用 Maven 3.3.3,但如有必要,我可以切换版本。
我知道如何覆盖 Maven 对个别冲突的选择,但我更愿意更改默认值,这样我就不必一次检测和修复每个冲突。
(请参阅有关“依赖中介”的 Maven 文档)
android - Android 库中的 XML 资源冲突
我通过gradle在我的 Android Studio 项目中导入了两个库。一个是支持库 v7,它是在我的应用程序中针对不同平台处理操作栏的必要组件。另一个是我打算用于 UI 组件的一个,称为MaterialDesign。
问题是这两个库都在它们的values.xml中定义了一个名为ippleColor 的属性,并且gradle 标识了冲突。
我如何告诉 gradle 排除一个定义并接受另一个定义?android 开发人员中心中的清单合并似乎在整个 xml 文件中执行此操作,而我的问题只是该文件中的一个特定属性。有什么办法可以解决这个问题吗?
PS我的gradle依赖如下:
xml - 元素不允许嵌套元素
当我将兵马俑配置添加到 ehcache.xml 中时,我遇到了以下错误。我认为图书馆有冲突,但我没有找到其中的哪一个?当我删除兵马俑配置时,项目工作。
我该如何解决这个问题?
我将 < !-- 和 --> 之间的行添加到 ehcache.xml 中以用于 terracotta conf。:
pom.xml
javascript - JavaScript 函数名与 jQuery 冲突
我一直在处理一些旧的 jsp 页面,并试图将 jQuery 引入其中。然而,这是我在页面上开始使用 jQuery 时得到的结果:
所以很明显,我们遗留的 base.js 和 jQuery 之间存在冲突。下面是导致问题的 base.js 中的代码片段:
坏消息是我不能轻易地将这个库从页面中重构出来,因为还有一些其他的 JavaScript 库在页面中使用它。
有什么我可以做的吗?谢谢!
ios - Swift iOS 自定义框架冲突
我用一些简单的表单验证方法和一些测试制作了一个自定义的 iOS Swift 框架。我将它开源到 Github。
如果其他开发人员将我的框架用于他们的应用程序但更改了方法名称怎么办?这可能会使我的应用程序崩溃吗?我的意思是,一个框架在多个应用程序之间共享,对吗?
android - 当有人使用我的android库时如何避免库冲突
我正在为 android 开发一个库,它将在许多应用程序中使用。该库依赖于其他一些库。例如,它使用 Dagger 1.2,因此如果包含我的库的应用程序将使用 Dagger 2.0,则项目将不会因为冲突而构建。我能做些什么?
我用这个工作区 gradle 尝试了 Jarjar
这是应用程序等级
这是我的图书馆毕业
google-app-engine - com.google.gcloud.datastore 与 com.google.appengine.api.datastore
我一直在尝试谷歌应用引擎一段时间。使用他们的谷歌数据存储代码示例,我目前正在开发一个类似 Uber 的应用程序来跟踪公共巴士的移动。我com.google.gcloud.datastore
目前正在使用,但与com.google.appengine.api.datastore
.
两者有什么区别?
我什么时候应该使用com.google.gcloud.datastore
vs com.google.appengine.api.datastore
?
我应该切换到appengine.api.datastore
?
谢谢。
java - Gradle 能以任何方式帮助解决 jar hell 吗?
这里是 Java 8。
假设有一个旧版本的widget
库,带有 Maven 坐标widgetmakers:widget:1.0.4
,其中定义了一个类,如下所示:
岁月流逝。这个widget
库的维护者决定 aWidget
永远不应该meow
,而是事实上应该bark
。于是有了一个新版本,它带有 Maven 坐标widgetmakers:widget:2.0.0
,Widget
看起来像:
所以现在我去构建我的应用程序,myapp
. 而且,想要使用我所有依赖项的最新稳定版本,我这样声明我的依赖项(在内部build.gradle
):
现在假设这个(虚构的)fizzbuzz
库一直依赖于 1.x 版本的widget
库,Widget
而meow
.
所以现在,我widget
在我的编译类路径中指定了 2 个版本:
widgetmakers:widget:1.0.4
它是由库拉入的fizzbuzz
,作为它的依赖项;和widgetmakers:widget:2.0.0
我直接引用
很明显,根据Widget
首先加载类加载的版本,我们将拥有 aWidget#meow
或 a Widget#bark
。
Gradle 是否提供任何设施来帮助我?有没有办法拉入同一个类的多个版本,并配置fizzbuzz
类使用旧版本Widget
,而我的类使用新版本?如果没有,我能想到的唯一解决方案是:
- 我可能能够完成某种基于着色和/或 fatjar 的解决方案,也许我将所有依赖项作为包拉入其中
myapp/bin
,然后为它们提供不同的版本前缀。诚然,我在这里没有看到明确的解决方案,但我确信有些事情是可行的(但完全是 hacky/讨厌)。或者... - 仔细检查我的整个依赖关系图,并确保我所有的传递依赖关系不会相互冲突。在这种情况下,对我来说,这意味着要么向维护人员提交拉取请求以将
fizzbuzz
其升级到最新widget
版本,要么不幸的是,降级myapp
以使用旧widget
版本。
但 Gradle (到目前为止)对我来说很神奇。所以我问:这里有什么 Gradle 魔法可以帮助我吗?
dependencies - Wildfly 9.0.x 不包括 Infinispan
我正在使用 Wildfly 9,我开发了一个由 Web 应用程序 (.war) 作为依赖项导入的 jar。jar 使用 infinispan 8.1.0,而应用程序服务器使用 7.2.3。
我已经编写了以下 jboss-deployment-structure.xml
我把它放在 jar 库的 META-INF 文件夹中。
当我部署 Web 应用程序并调用 SessionManager 初始化时,我得到了这个异常:
所以看起来服务器仍然想使用它的库。
我究竟做错了什么?
java - 如何解决 IntelliJ IDEA 中 Java 文件的依赖冲突?
我试图在网上搜索我面临的问题,但也许我没有向谷歌询问正确的问题,所以我在这里。
我正在为我的多模块项目使用 IntelliJ IDEA。对于我的一个模块,其中一个类文件正在使用静态导入 -
作为一个大项目,从内部 repo 下载了很多依赖项,但由于某种原因 IntelliJ 拒绝使用依赖项“javax.ws.rs-api-2.0”,而是使用“jersey-core-1.8”。因此,它会引发编译错误,提示找不到符号“familyof”。
我从两个依赖项中查看了 Response.java,发现 jersey 依赖项没有 familyof 方法,而 javax.ws.rs-api-2.0 有它,但 IntelliJ 不使用此依赖项。我该如何解决这个问题。我团队中的大多数开发人员都在使用 Eclipse,他们没有这个问题。我正在尝试习惯 IntelliJ IDE,但似乎无法摆脱这种情况。非常感谢这方面的任何帮助。
PS - 这个问题在 Eclipse IDE 中不会发生。