问题标签 [dependency-management]

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 投票
5 回答
458 浏览

dependency-management - 在生产中使用 3rd 方库/组件

在生产项目中使用 3rd 方库/组件时,您是否严格使用所述库的已发布版本?

您何时考虑使用库的预发布或测试版本(在开发中?在生产中,在某些情况下)?

如果您遇到库的错误或缺点并且您已经承诺使用它,您是否将补丁应用到库或在您的代码中创建解决方法?

0 投票
7 回答
2666 浏览

java - 限制 Java 包之间的依赖关系

在 Java 构建系统中对包依赖项实施限制的可能性有哪些?例如,myapp.server.bl.Customer不应允许类引用myapp.client.ui.customlayout包。我对基于 Ant 或特定于 IDE 的解决方案感兴趣。

我想在构建中收到一条错误消息,表明(自定义)包依赖规则已被违反并且构建中止。我还想在 Ant 脚本或 IDE 项目文件之外的列表中维护依赖项,最好是在文本文件中。

(我不知道 Maven 但我在这里读过它对模块依赖管理有更好的支持)

0 投票
5 回答
20054 浏览

java - 如何获取主类的 Java 类依赖项列表?

有没有办法找到java主类的所有类依赖项?

我一直在手动筛选主类的导入和它的导入,但后来意识到,因为不必导入同一个包中的类,所以我整理了一个不完整的列表。

我需要一些能够递归地找到依赖关系的东西(可能达到定义的深度)。

0 投票
5 回答
1181 浏览

java - Maven2的隐藏特性是什么?

Maven2的隐藏特性是什么?

0 投票
2 回答
1144 浏览

dependency-management - 一个简单但单一的代码库与许多明确记录的依赖项

通常在开始一个新项目时,我会从我认为在如何构建代码库方面最好的意图开始。我喜欢许多小模块的想法,这些模块可以很好地完成一件事,与代码库的其他部分解耦,并且我自己可能会在其他(类似)项目中重用或开源以供其他人利用。

然而,当我真正尝试将某些东西投入生产时,在紧要关头的那一周,管理所有这些不同模块的复杂性已被证明是一种过多的开销(尽管有良好的文档和部署方法)。在那些时候,我只是简单地改变了策略并将所有模块捆绑到一个存储库中,并将它们作为一个代码库进行管理,这意味着我可以通过不同的分支一起跟踪所有内容,部署到登台和测试环境等......

这些不同方法的优点和缺点是什么,您如何管理以一种或另一种方式工作?

一个单一代码库的优点:

  • 易于部署
  • 易于回滚
  • 易于分支/管理所有更改
  • 没有(或更少)需要记录和管理的潜在复杂依赖项

模块化依赖的优点:

  • 可重用性
  • 干净的架构(一个模块做好一件事)
0 投票
2 回答
1480 浏览

.net - 在 .NET 中管理依赖关系树的最佳方法是什么?

在我的上一个项目中,我们使用 MSBuild 作为脚本语言。(是的,真的!)我们还为在 C# 中更有意义的部分编写了数百个自定义 MSBuild 任务。(我什至编写了一个 MSBuild 任务来生成 MSBuild 任务的样板代码。是的,它消耗了自己。)

虽然我不建议其他人采用同样的方法,但我发现非常有用的一件事是内置的依赖管理。如您所料,表达依赖关系并让 MSBuild 负责满足它们很容易。例如,我们软件中的几乎每个步骤都需要将一组特定文件复制到特定位置。你可以很容易地写:

当你执行时Step2,它只会复制一次文件。

构建和满足依赖关系树在软件中很常见。我希望 MSBuild 团队能够使用他们的依赖管理代码,将其与 MSBuild 分离,并将其移至任何人都可以使用的 .NET Framework。除此之外,您认为以这种方式管理依赖关系的最佳选择是什么?

0 投票
4 回答
1750 浏览

c# - 您如何在 .Net 项目中打包外部库?

我的很多项目都包含 Castle/NHibernate/Rhino-Tools 堆栈。令人困惑的是,Castle 依赖于一些 NHibernate 库,NHibernate 依赖于一些 Castle 库,而 Rhino-Tools 依赖于两者。

我已经在我的机器上构建了所​​有三个项目,但是我觉得复制 NHibernate/Castle 库有点多余,因为我使用 NHibernate 和 Castle 构建中的生成库构建了 Rhino-Tools。

现在,我在项目树的 /thirdparty/libs 文件夹中的单独文件夹中包含所有项目。我应该只是在我的项目中使用 /thirdparty/libs/rhino-tools 并从那里使用 Castle/NHibernate 库吗?这在不复制文件方面似乎是合乎逻辑的,但我也喜欢将每个项目放在自己不同的文件夹中。

您对此有何看法?

0 投票
2 回答
508 浏览

ant - What's the best way to define dependencies between multiple ant build files?

I have a bunch of modules which I'd like to all have their own ant build files. However, modules have dependencies on other modules. What's the best way to define dependencies between build files?

I've looked at the <import>, <ant>, and <antcall> tasks, but it seems like maybe there's a better way to do this.

0 投票
1 回答
4484 浏览

java - Apache Ivy 如何解析 ivysettings.xml 文件中提供的工件模式中的变量?

如果我的 ivysettings.xml 文件包括:

我的 ivy.xml 文件包括:

从我运行 Ivy 开始,我可以看出这可以解析为:http://repository.springsource.com/ivy/bundles/external/org.junit/com.springsource.org.junit/4.4.0/com.springsource。 org.junit-sources-4.4.0.jar

所以决议去:

我看到 ivy 如何解析 URL 模式中的 [organisation]、[module] 和 [revision](duh),但它如何解析 [artifact] 和 [ext]?

似乎缺少有关 URL 解析器的文档。

0 投票
12 回答
66824 浏览

c++ - C ++的类似Maven的依赖管理?

假设我有一个 C++ 项目,该项目分为几个子项目。子项目都生成一个 DLL,并且不同的开发团队在每个子项目上工作。现在如果我想构建主项目,有没有办法避免自己构建所有子项目?

简而言之,我正在寻找以与 Maven 对 Java 类似的方式进行依赖管理(即二进制文件和头文件)的东西。

实际上,我尝试为此使用 Maven,但这相当麻烦,因为我必须手动且非常频繁地创建包,Maven 错过了获取最新更改的机会。此外,运行编译有点麻烦,因为我必须从 Maven 中调用 NAnt(我使用 NAnt 的功能直接构建 Visual Studio 解决方案)。

关于如何做到这一点的任何提示和想法?