问题标签 [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 投票
0 回答
1297 浏览

c++ - C ++中的“传递”动态链接

假设我有一个动态库a.so

然后我只在机器上存在时才b.so反对。a.soa.so

然后我正在c针对b.so.

我希望忘记关于a.soin 的所有内容c Makefile,但似乎我需要添加标志,否则a在链接期间我得到了对符号的-L未定义引用。a.soc

这对于动态链接是正常的还是我在这里忘记了什么?

0 投票
1 回答
51 浏览

maven-3 - 在 Maven 中怎么说“带入 B 而不是 A”?

我有一个项目有 N 个依赖项,这些依赖项都依赖于某个库 A(比如 commons-logging),我想使用其他一些库 B(比如 jcl-over-slf4j,它被称为 commons-logging 的替代品) 作为该库的替代品,因此在任何情况下都始终使用 B,而 A 根本不会包含在项目中。

我知道处理这种情况的唯一方法是将 B 添加为显式依赖项,然后为 N 个库中的每一个添加一个排除项,表示不要引入 A。这似乎与声明性的精神背道而驰,更不用说它是疯狂的了如果 A 是常用的东西(如 commons-logging),则重复。有没有办法说,“只要有任何东西需要 A 作为传递依赖,就给它 B”?

0 投票
1 回答
97 浏览

java - 如何管理必需的、冲突的 Java 依赖项

假设我需要(它需要)在我的 Java 项目中使用fizz-1.0.jar和。buzz-2.3.2.jar现在,fizz-1.0.jar取决于foo-0.1.35.jarbuzz-2.3.2.jar取决于foo-4.2.17.jar

foo-0.1.35.jar包含一个Widget像这样的类:

foo-4.2.17.jar包含一个经过大量修改的版本Widget

不幸的是,两者都fizz-1.0.jar大量buzz-2.3.2.jar使用了Widget.

我不能盲目地将 的两个版本都添加foo-x.y.z.jar到类路径中,因为无论哪个先Widget加载,都只适用于fizz-1.0.jarbuzz-2.3.2.jar

我在这里有什么选择?请记住,我必须同时拥有fizz-1.0.jarbuzz-2.3.2.jar,并且必须满足它们的所有传递依赖关系。

0 投票
1 回答
477 浏览

list - SML: Scan a relation list to get all the transitive associations

I have an environment list which keeps associations between variables and values, such as env = [("x", 1), ("y", 2), ("z", 3), ...]. I also have another substitution list (which is returned by a pattern matching control function) that keeps associations between variables and pattern, such as s = [("v", Var_p "z"), ("w", Var_p "v"), ("u", Var_p "w"), ...]. Let's consider the first pair ("v", Var_p "z"): my function should check the value corresponding to zin the environment, create a new association between v and z's value (i. e. ("v", 3)) and put it into the environment. My code for this function is the following.

Here, s is the substitution list and exists and lookup are functions which check the existence of a variable in the environment and look for the corresponding value, respectively. The problem with this function is that works fine only for direct associations (in the example, it puts the direct association between v and 3 into the environment). It obviously doesn't work for the transitive associations unless I call it multiple times (which I don't know in advance how many they are). To recall the example, by the end of this function, my environment list should be env = [("x", 1), ("y", 2), ("z", 3), ("v", 3), ("w", 3), ("u", 3), ...].

Could you please give me a hint about how to modify this function to work fine with the transitive associations, too?

Thanks in advance!

0 投票
1 回答
369 浏览

java - Maven 依赖层次结构 - 包括或不包括

我有一个带有子模块的项目。

ProjA 依赖于 ProjY,而 ProjY 又依赖于 ProjX。

我在 ProjA 中指定 ProjY 依赖项。我应该在 ProjA 中单独包含 ProjX 依赖项吗?(传递依赖?)

如果 ProjB 依赖 ProjX 怎么办?我应该单独包含它吗?或者我可以将它包含在 Porj(主要)级别中?

0 投票
1 回答
3205 浏览

java - Maven排除不起作用

我正在开发一个项目,该项目具有依赖关系JUnit 4.11和传递依赖关系,JMock 2.6.0-RC2而后者又依赖于JUnit-dep 4.4. 的这种传递依赖JUnit-dep覆盖了我本地 pom for 中的设置JUnit。通过覆盖,我的意思是当我调用 JUnit 方法时,它会调用 v4.4 中的方法,而不是 v4.11。JMock添加 for和 for 的排除项JUnit-dep对我已解决的依赖项没有影响。

注意: JUnit andJUnit-dep有单独artifactId的 s,因此使用一个不会省略另一个。


上一个问题:JUnit 注释不起作用

我正在尝试使用 JUnit 的ExpectedException规则运行测试,但是当我运行测试时,似乎规则没有运行。在下面的代码中,如果规则不存在,异常会直接通过并未能通过测试。

我最近将项目的 Maven 依赖项从 4.3.1 更改为 4.11。我还对我的工作区做了一个干净的构建。我应该采取哪些步骤来解决这个问题?来自 Maven 的 trasitive 依赖项会让跑步者感到困惑吗?我怎么能说我正在使用 4.11 运行?

编辑:

我不知道这是否有帮助,但@RunWith(BlockJUnit4ClassRunner.class)在我的班级中名列前茅让我得到了这个:

编辑:

在 Eclipse 中通过 m2e 查看依赖项:当我检查我的 pom 的 Dependency Hierarchy 选项卡时,我在左侧显示 1 Resolved Dependency for JUnit:4.11 和多个(与 4.11 冲突省略)版本。此外,junit-dep 4.4还有一个已解决的依赖关系,jmock-junit4: 2.6.0-RC2 但是我已将此依赖关系标记为已排除(Right-click + Exclude Maven Artifact...)。此外,由于与我自己对JMock 2.1.0.

编辑: Ctrl+Shift+T RunWith尽管有排除,但显示 2 个版本,4.4 和 4.11。

编辑: 添加junit-dep 4.10“修复”问题的依赖项,最后省略了制作 4.4 版本的麻烦。然而,这似乎更像是一种破解而不是解决方案。

0 投票
3 回答
26760 浏览

dependencies - Gradle, How To Disable All Transitive Dependencies

Many of my jars have conflicting transitive dependencies (multiple spring versions). I would like to avoid inherited version conflicts by managing all of my dependencies explicitly, is it possible to disable all transitive dependencies in Gradle?

I know I can add transitive = false to each of my dependencies, but I am hoping there is a simpler way.

0 投票
2 回答
685 浏览

database-design - 以下函数依赖中是否存在传递依赖

假设我们有以下功能依赖:

函数依赖A->C是显式的,即您不必经过 B 即可从 A 到达 C。

A和C之间是否存在传递依赖?如果我想用它来建立我的关系并让关系满足第三范式,我是否必须把它分成两个关系?:

(其中 * 表示主键,每一行是关系的标题)

或者将其保留为:

还满足3NF?

明确地,我的问题是函数依赖:A->B, B->C, C->B, and A->CA->C传递依赖,为什么/为什么不?

0 投票
1 回答
147 浏览

database-design - 涉及超过 3 个属性的传递依赖

给定以下一组函数依赖项

如果 A->C 存在,它是一个传递依赖

如果我们有以下两种情况,它们也是传递依赖吗?

第一种情况

A->D 是传递依赖吗?

第二种情况

A->D 是传递依赖吗?

0 投票
2 回答
8644 浏览

gradle - 如何从 Gradle 中的所有依赖项中忽略特定的传递依赖项

如何忽略 Gradle 中的特定传递依赖?

例如,许多库(例如 Spring 和 ...)依赖于commons-logging,我想替换commons-loggingSLF4J(及其 jcl-over-slf4j 桥)。

在我的 gradle 脚本中是否有任何方式提及它一次,而不是针对每个依赖于它的依赖项commons-logging

我正在考虑一个脚本,迭代所有依赖项并在所有依赖项上添加一些exclude,有没有更好的解决方案?那个剧本怎么样?