问题标签 [transitive-dependency]

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.

0 投票
1 回答
776 浏览

maven - 在父 pom 的依赖管理中定义的传递依赖

'Dependency1' 可传递地拉取'dependency2',我想在我的项目中管理'dependency2' 版本。

如果我在父 pom 的依赖管理部分中同时拥有“dependency1”和“dependency2”,而项目的只有“dependency1”子 pom,项目将引入哪个版本的“dependency2”?

像这样的东西:

父POM

儿童POM

0 投票
1 回答
491 浏览

gradle - 如何将 ResolutionStrategies 与 Gradle 混合使用

假设我的 gradle 构建脚本中有以下内容:

如果找到多个版本的 jar,这将失败,但 guava 除外,它将强制为 18.0 版本。

现在让我们想象一下,我想拥有failOnVersionConflict()所有外部 jar,并被迫使用 force 子句(所以我知道我在做什么),但我想对某些特定组使用默认的 resolutionStrategy (最新版本),比如com.mycompany.

这样的事情可能吗?

我正在查看此文档页面:

https://gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

0 投票
1 回答
1278 浏览

spring - 在 Gradle 中排除传递 JAR 依赖项

我在 Gradle 中定义了两个项目,projectA 和 projectB 定义为多项目。

ProjectA 与spring1-beans.jar有依赖关系,同时 ProjectB 与 ProjectA 有依赖关系。

我遇到的问题是 ProjectB 也与spring3-beans有依赖关系,因此我需要排除 Spring1 jar,否则它将使用不正确的 Spring 版本。

ProjectA 的 Gradle conf 文件如下所示:

和 ProjectB 的 conf:

不幸的是,这不起作用。Gradle 抛出以下错误:

在项目中找不到参数 [文件集合] 的方法 exclude()

我也尝试过使用具有类似输出的模块:

描述“lib/spring-beans.jar”无效

笔记:

  • 我正在使用 JAR 依赖项,因为项目是从 Ant 迁移的,所以即使我接受建议,我也无法切换到远程存储库。
0 投票
1 回答
134 浏览

jenkins - “阻止上游构建传递”?

我浏览了 Jenkins 文档,但找不到这个答案。

我玩弄它,但我的结果似乎有些不一致。

“阻止上游构建”选项是否可传递?


例如,假设项目 A 触发项目 B,项目 B 触发项目 C。

如果 A 正在运行并且 B 被触发,则 B 将不会运行,直到 A 完成。

如果 A 正在运行并且 C 被触发,C 会等待 A 完成吗?

0 投票
1 回答
1218 浏览

node.js - NPM 在父级已经满足时安装嵌套依赖项

我在 NPMReact在我的项目中安装两个副本时遇到问题。以下是依赖项的相关部分:

我的package.json

tcomb 形式的package.json

我不希望tcomb-form得到它自己的副本React,因为我已经有一个满足它的依赖项peerDependencies

但是,在npm 2.7.4,它确实安装了一个单独的版本tcomb-form/node_modules/react,并且这个版本与我的版本不兼容(我使用0.12,并且正在安装0.13

npm 1.4.28中,这种行为是不同的,tcomb-form/node_modules/react不会存在,它只会使用我的版本。

有没有办法让我们都在最新版本中使用相同版本的 React npm

0 投票
1 回答
1080 浏览

maven - Maven 相同的传递依赖但不同的版本

我遇到了一个问题,我有以下两个依赖项:

org.apache.felix » org.apache.felix.utils » 1.6.0

com.github.rotty3000 » phidias » 0.3.2

它们都对 org.osgi.core 有传递依赖,felix 依赖于 4.1.0 版本,而 phidias 依赖于 5.0.0 版本

我们需要 5.0.0 版本才能正确编译代码

如果我将我的依赖项设置为:

maven 自动获取版本 4.1.0 导致编译错误。如果我将 phidias 放在 felix 之上,它会得到 5.0.0 版本并且可以正常编译。

我们想按字母顺序对依赖项进行排序,这样 felix 会排在最前面,是否有强制 osgi.core 解析 5.0.0 版本?

谢谢!

0 投票
0 回答
144 浏览

maven - 是否可以解决 Maven 中错误的传递依赖?

我们在程序中使用 JPod 库。现在我正在尝试将其切换到 Maven,所以我将这些行添加到pom.xml

但是,在此 Maven 构建失败并显示以下消息后:

无法解析以下工件:javax.media:jai-core:jar:1.1.3, com.sun.media:jai-codec:jar:1.1.3: 找不到 javax.media:jai-core:jar :1.1.3 在http://repo.maven.apache.org/maven2被缓存在本地仓库,直到 central 的更新间隔已经过去或强制更新才会重新尝试解析 -> [帮助 1]

问题是 JPod 依赖于一些库,这些库将它们的依赖关系列为 jai-core 和 jai-codec。但是,没有这样的工件,而是有 jai_core 和 jai_codec(用下划线代替连字符)。我不知道,也许他们在某个时候改名了。

您可以在此页面上看到我的意思:只需单击“取决于”部分中的 jai-core 链接。

有什么方法可以“覆盖”这种破碎的依赖关系吗?或者我将如何在这里进行?我一般不熟悉Maven,所以详细的答案会更好。

0 投票
3 回答
4444 浏览

plugins - 如何获取gradle任务中传递依赖的信息?

我想在 gradle 任务中获取所有依赖项(包括传递的依赖项)的信息。

我试过代码:

但它只打印声明的,没有传递的。

这意味着,如果我dependencies是:

它只打印这 3 个依赖项,但不显示org.hamcrest:hamcrest-core:1.3传递依赖项。junit:junit:4.11

如何修改代码以使其也显示org.hamcrest:hamcrest-core:1.3

PS:我知道gradle dependencies任务会显示我想要的一切,但我需要手动获取依赖项信息并以我自己的格式打印。

0 投票
1 回答
204 浏览

java - 禁用传递依赖项不起作用

我的项目有一些依赖项(真的很多),我将它们添加到依赖项中。但我不想要任何传递依赖,这将是我无法控制的(maven 给我带来了几乎三倍于我需要的东西)。我试图以这种方式禁止传递依赖:

但是在我做了一个 mvn 包之后,传递依赖项仍然被下载并添加到我构建的包中。这是maven的日志记录:

所以这不是我想要的。我希望 maven 不要自动下载传递依赖项或不要将它们添加到我的“mvn 包”中。

感谢任何帮助。

0 投票
1 回答
540 浏览

java - maven如何将传递依赖添加到类路径中?

我对 maven 如何处理传递依赖关系以及它如何写入类路径感到非常困惑。

假设我有两条 E 路径(A、B、C、D、E 是 ejb):
1. A<---B<---E(E 依赖(comile)在 B 上,它依赖于 A)
2。 A<---C<---D<---E(所有依赖都是编译依赖)

问题是:E 是如何构建的,哪些工件在 E 的类路径(META-INF)中。

非常感谢!