问题标签 [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 回答
1364 浏览

database-normalization - 规范化 - 识别传递依赖

我在识别传递依赖项时遇到了麻烦。我理解它背后的概念,但是看着它们并将它们拉出来是我遇到问题的地方。

所以我知道

甲→乙

不是 B → A

B → C

那么 A → C 是一个传递依赖。

在这种情况下,我似乎无法识别传递依赖:

患者 ID (PK)

Insurance_Co_ID (PK)

Doctor_ID (PK)

名称

P_Lname

P_Street

P_城市

P_Zip

P_Phone

Ins_First_Contact

Ins_Second_Contact

Ins_Phone

Doc_Fname

Doc_Lname

Doc_Beeper

我了解如何制作 1NF、2NF 等图表,识别部分依赖关系和行列式,只是在这方面遇到了麻烦。在进行研究后,我对此的看法是只发现一个传递依赖,但即便如此我也不确定。(Doc_Fname) → (Doc_Lname) → (Doc_Beeper) 所以 (Doc_Fname) → (Doc_Beeper) 还是 (Doc_Fname, Doc_Lname) → (Doc_Beeper)?

请帮忙,谢谢!

0 投票
2 回答
601 浏览

maven - 冻结对 maven 版本的传递依赖,以获得完全可重现的构建

一个与基本 maven 概念相关的问题:

一旦发布,我想保证项目构建是完全可重现的。因此,所有项目和插件依赖项,包括传递依赖项,都应该始终以相同的方式解决。

不幸的是,如果依赖关系以版本范围表示,情况并非如此。即使设置了项目的直接依赖项(使用versions:use-releases),也可能发生传递依赖项将来仍可以通过其他方式解决的情况。

如何解决问题?有已知的解决方案吗?

我在想(只是一个想法),关于创建一个插件,它在发布时会将项目的所有依赖项转储到一个单独的文件中,然后一旦在未来构建,从文件中读取的依赖项将优先于标准maven 用来解决依赖关系的方式。但恐怕没有插件api。所以它需要一些黑客攻击,我想避免。还有其他方法吗?

谢谢,卢卡斯

0 投票
1 回答
672 浏览

eclipse - eclipse wtp在运行时未解决传递依赖关系

在 Eclipse 中运行动态 Web 项目时遇到问题。我创建了一个 Maven 项目(archtype - webapp),然后通过添加 maven-eclipse-plugin(2.9 版)在其中添加了 DWP 行为。我在 POM 文件中添加了我的项目依赖项,如下所示

然后我使用 maven 命令(全新安装)构建项目。我可以在目标文件夹中看到生成的战争文件。当尝试在eclipse中的tomcat上运行这个应用程序(项目->右键单击->运行一个服务器)时,tomcat启动时出错。

严重:向 net.sourceforge.wurfl.core.web.WURFLServletContextListener 类的侦听器实例发送上下文初始化事件的异常 java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils at net.sourceforge.wurfl.core.web.WURFLServletContextListener .contextInitialized(WURFLServletContextListener.java:81) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4765) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260) 在 org. apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase. java:842) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649) 在 org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1581) 在 java.util.concurrent.Executors $RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java. util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:662)引起:java.lang.ClassNotFoundException: org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688) 中 org.apache.catalina.loader.WebappClassLoader 中的 org.apache.commons.lang.StringUtils。loadClass(WebappClassLoader.java:1533) ... 15 更多 开始 Introspector 初始化...

当我查看 tomcat 运行应用程序的 Eclipse 文件夹时(C:\Deepak\Study\Dev\Practicals\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\accessloganalyzer-1.0-SNAPSHOT ),我没有找到我在项目中使用的第三方库 wurfl.1.4.jar 的任何依赖项(包括错误中引用的 commons-lang)。

wurfl 库使用以下依赖项,这些依赖项在 WEB-INF/lib 中不存在,因此导致问题

  • commons-collections-3.2.1
  • commons-lang-2.6
  • 杰克逊核心asl-1.8.2
  • 杰克逊-映射器-asl-1.8.2
  • logback-经典-0.9.28
  • logback-core-0.9.28
  • slf4j-api-1.6.1

任何人都可以指出我错过了为什么这些传递依赖项没有被复制到应用程序 WAR 文件的 WEB-INF/lib 文件夹中吗?

0 投票
1 回答
369 浏览

maven - Maven传递依赖混淆

如果我在应用程序(例如 my.company.app)中包含一个库(例如 mycompany.model.core-SNAPSHOT),并且 mycompany.model.core 包含 Hibernate 作为依赖项,我可以在 my.company 中引用 Hibernate 类和函数吗.app 没有在应用程序中包括休眠(显式)?

谢谢!

0 投票
1 回答
2823 浏览

c# - 传递依赖导致相同 DLL 的版本冲突

.NET 世界中管理导致版本冲突的传递依赖项的最佳实践是什么?

详细说明:项目 A 依赖于项目 B,而项目 B 又依赖于库 C

项目 A 还依赖于项目 X,项目 X 依赖于库 C 的不同且(可能)不兼容的版本。

A->B->Cv1.0
&
A->X->Cv2.0
其中
Cv1.0 <> Cv2.0

  • 有没有办法使这项工作?

  • 可以在不使用 GAC 的情况下完成吗?

  • 即使 B 和 X 仅是二进制格式(源不可访问),也可以这样做吗?

换句话说,有没有一种方法可以让项目 B 和 X 在项目 A 中一起使用时各自使用它们自己的依赖项,而不会引起冲突。

注意:我意识到理想情况下我根本不应该有这个问题,但是随着对外部库的依赖扩大,这将是一个不可避免的副作用。所以我想知道它应该如何最好地处理它。

0 投票
1 回答
2080 浏览

gradle - Gradle 不包含传递依赖

我正在尝试使用spring-test-mvc在我的小应用程序中测试控制器。由于我使用 gradle 作为构建工具,因此我向它添加了依赖项,如下所示:

它成功检索 spring-test-mvc,并编译测试。但是执行测试失败了,因为它似乎不包括像 mvc test 这样的瞬态依赖。

除其他外,它抱怨找不到

这是 spring-test.jar 的一部分,它作为依赖项包含在 spring-test-mvc s pom.xml https://github.com/SpringSource/spring-test-mvc/blob/master/pom.xml中

我可以通过在构建文件中明确包含依赖项来解决该问题:

但它只是被下一个问题所取代。我试图明确要求瞬态依赖:

但这并不能改变任何事情。

所以问题是:如何让 gradle 在类路径中包含传递依赖项。

注意:传递依赖似乎在测试之外工作得很好。

0 投票
1 回答
1885 浏览

java - 常春藤没有解决来自公共 maven 存储库的传递依赖关系

考虑到以下常春藤依赖项,

它们依赖于镜像的公共 maven 存储库

http://myivyserver:8888/mirrored/ 。

正如 ivysettings 解析器指定的链接到 ...

在哪里我可以看到镜像目录完全复制了远程 maven repos 的工件。

我习惯了 Maven,并且在 Eclipse 上看到构建路径显示了 Maven 依赖项。

现在,我正在为一个项目创建 Ivy 依赖项。我期待看到类似的,而且我确实看到了一个类似的 Ivy 依赖节点,由于 Ivy eclipse 插件,它显示了所有的 jar。

但是,eclipse buildpath 中的 Ivy 依赖节点不显示任何由镜像 pom 传递指定的 jar。

例如,

两个依赖项的 pom 都指定了对 javax.ws.rs (jsr311-api) 的依赖项

但是 javax.ws.rs(jsr311-api) 并没有像 Maven 管理的项目那样出现在 ivy 托管项目的 buildpath 库中。

我还需要做什么才能让 ivy 插件解决由于 maven pom 引起的传递依赖?

谢谢你。

0 投票
1 回答
63 浏览

sql - 基于函数依赖的方案

我一直试图在脑海中解决这个问题,但我真的被困住了,希望能得到一些帮助。鉴于方案

说这里的关键是 {a,b} 是否准确?如果这是真的,那么说属性 c,d 由于它们对 a 或 b 的部分依赖而需要在它们自己的表中是否也准确?导致以下方式的方案?

还是仅仅拥有

当然 a,b 必须以某种形式存在,因为它们是关键,对吧?我不是百分百确定。帮助理解这一点会很棒

0 投票
1 回答
294 浏览

maven - maven 传递依赖在 jetty:run 中丢失

我有一个大型项目,需要通过命令行界面或网络应用程序使用。核心服务器部署为 10 个单独的 jar。该网络应用程序当前部署为 .war,但这是一个巨大的文件,它复制了所有单独的部署,并且使更新模块变得非常痛苦 - 每次更新任何内容时都必须重新部署这个巨大的 .war 文件,很多时候我们不使用网络应用程序。

所以我试图部署一场“瘦身战争”,没有依赖。但是,没有 .ear 文件来携带它们,所以在运行时,我解压了瘦战争并使用 jetty:run,classesDirectory 和 webAppSourceDirectory 指向解压后的内容。这一切似乎都奏效了。问题是来自 web-app 模块的依赖项没有进入 jetty:run 的类路径。当我在 web-app 模块中使用 jetty:run 时,类路径包括所有父、本地和传递依赖项。但是当我在依赖于 web-app 模块的“分发”项目中使用 jetty:run 时,进入类路径的唯一依赖项来自父模块,而不是来自 web-app 模块。请注意,web-app 模块是分发模块中唯一的本地依赖项。

我错过了什么?

0 投票
2 回答
8556 浏览

maven - maven - 传递依赖

在 pom.xml 中定义数据时,我试图遵循最佳实践,所以我开始研究 Spring 源代码,我看到了:

但是,spring-beans 也依赖于 log4j。

你能告诉我,对于最佳实践方法,你应该在多大程度上依赖传递依赖?

我问这个是因为我的第一个想法是不要重新声明 log4j 依赖项,因为 spring-beans 已经声明了它。