问题标签 [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.
jquery - 使用 jQuery 插件及其依赖项的指南
jQuery 插件通常依赖于外部文件:jQuery 库、样式表 (CSS)、图像、其他插件等。使用(和编写)jQuery 插件的指导方针是什么?换句话说,所需的文件应该放在哪里:在主应用程序文件夹下(Img、Css、JS 或您使用的任何文件夹),在插件文件夹下(例如 Plugins/MyPlugin/Img、Plugins/MyPlugin/Css 等),或者是其他东西?
在项目中包含几个插件之后,我担心其他项目成员将很难确定需要哪些依赖项以及哪些文件应该放在哪里。
什么对你有用,什么没用?
java - Should I use Eclipse plug-ins (or OSGi Bundles) as a plain dependency management tool?
once again it has happened... I joined a new project, composed of several plain Eclipse Java Projects, with interdependencies, all managed through the Project build path. I find this all a bit of a chaos. And when it comes to run configurations - you just enter hell.
In the past I've sticked to create plug-in projects, instead of plain Java projects - even if I never intend to run these projects as osgi-bundles. I just find that dependencies are way easier to manage in plug-in projects. Are other people taking the same path? Anything against this approach?
java - 选择正确的 Apache Commons Logging 版本
我依赖于几个 Apache TLP(顶级项目),如 Apache Axis、Commons HttpClient、Commons DBCP、Commons Transaction 等。
这些项目中的每一个都依赖于 JCL(Commons Logging),并且每个项目都依赖于不同版本的 JCL。
我应该选择哪个版本的 JCL - 最高版本是最佳选择吗?较高版本的 JCL 是否与针对较低版本编译的项目兼容(一些项目针对 JCL 的 1.0.x 版本编译,而其他项目针对 1.1.x 编译)?JCL 项目本身是否在某处传达了这些信息?
php - 在使用 PHP 部署期间如何处理库依赖关系?
这主要是关于 PHP 的问题。我想知道:当您部署到(生产)服务器时,如何确保所有必要的库都与您的应用程序一起打包?
一个更具体的例子:我有一个在 Zend Framework 上运行的应用程序,每次我将应用程序滚动到服务器时,部署过程都会在该系统上创建一个全新的“安装”。因此,我需要将 Zend Framework 与我的应用程序捆绑在一起,然后将文件一起复制到正确的位置(这是自动完成的)。目前,我正在使用 svn:externals 定义在部署期间从 Zend 的 SVN 系统中获取文件,但是,我不想依赖该 SVN,也不想在每次部署时将流量放在外部 SVN 上.
在 Java 世界中,我习惯于使用中央工件存储库处理此类内容的 Maven。我知道有一个 Maven4PHP 版本,但是,我更多的是寻找基于 PHP 的解决方案。此外,我不认为 PEAR 是一个好方法,因为它并不能真正满足我将应用程序(包括库)捆绑到单个可部署的要求。
是否有一些我不知道的可用工具?或者你有什么我应该知道的伟大技术吗?
非常感谢您的帮助!
迈克尔
versioning - 如何跟踪依赖组件/库的版本更改?
我们有一个项目,它有几个独立开发的组件。然而,我们有许多版本都被命名为具有不同时间表的不同产品。当组件有新版本(可能与错误修复相关)时,我们希望立即获得反馈,因此所有依赖于该版本的产品也将得到更新。
当然这只是一个简单的例子。应该有专门针对这种情况的项目,但我找不到。您如何处理此类情况?首选(简单但强大)的方式是什么?
ant - 如何在项目之间最好地共享 Ant 目标?
是否有一种成熟的方法可以在项目之间共享Ant目标?我目前有一个解决方案,但它有点不雅。这是我目前正在做的事情。
我ivy-tasks.xml
在我们网络的服务器上托管了一个文件。除了其他目标之外,该文件还包含用于使用Ivy管理项目依赖项的样板任务。例如:
托管此文件的原因是因为我不想:
- 将文件检查到每个需要它的项目中——这将导致重复,使维护目标变得更加困难。
- 让我的 build.xml 依赖于从源代码管理中签出项目 - 这将使构建在顶层有更多的 XML 来访问文件。
我在项目的 build.xmls 中对这个文件所做的事情是:
关于这一点的“肮脏”部分是我必须在目标之外执行上述步骤,因为导入任务必须在顶层。另外,我仍然必须在所有需要它的 build.xml 文件中包含这个 XML(即,仍然有一些重复)。
最重要的是,在其他情况下,我可能有想要导入的常见(非 Ivy)任务。如果我要使用 Ivy 的依赖项管理来提供这些任务,我仍然会遇到问题,因为当我解决依赖项时,我必须在 build.xml 中的目标内,并且无法导入(由于到上面提到的约束)。
对于我想要完成的事情有更好的解决方案吗?
maven-2 - 使用“mvn clean install”构建 Maven Grails 不起作用
我已经构建了一个 Maven Grails 项目,可以使用 command 构建它mvn grails:war
。
但是,使用标准mvn install
无法正常工作 - 我收到异常,抱怨 util Java 类(保存在 grails-app/util 文件夹下)因为找不到域类之一而无法编译。
我没有使用任何包结构,因此没有将域类导入到 util 类中。
我想我的第一个问题是——Maven 是否完全支持构建一个 mavenised Grails 项目?我应该期待mvn install
工作吗?
我的第二个问题是-如果我被迫使用构建应用程序mvn grails:war
-当父项目/ pom 将其作为依赖模块时,我该如何执行?
maven-2 - maven 依赖 groovy
我正在运行一个依赖 groovy 1.7-beta-1 的项目。gmaven 插件使用 groovy 1.6 版作为依赖项。在我的 pom 中,我在依赖管理部分将 grooyv-all 版本指定为:
然而,当我在调试模式下运行 maven 时,我看到 groovy 1.6 被用于对 gmaven 插件的依赖。我认为我的依赖管理部分会覆盖它,所以它们都使用 1.7-beta-1,但是由于不同的 groovy 版本,我遇到了错误。这里的任何帮助将不胜感激。
谢谢,
杰夫
php - 如何为php应用程序进行部署
我目前正在为一个慈善组织开发一个 php 应用程序,我现在正处于定义部署实践的阶段。
我们的应用程序同时使用 Zend Framework 和 Doctrine。应用程序将部署到不同的服务器,每个服务器都有不同的配置文件。这些机器都是 Windows 和 Linux(但都使用 Apache 和 php 5.2+)。
源代码在 subversion 存储库中可用,我们希望在 Linux 服务器上构建和存储我们的包。
最好我们希望更新过程像在应用程序目录中运行更新命令一样简单,其中更新命令还更新数据库(使用教义脚本)并确保框架的依赖关系。此更新命令必须是机器上的命令(我们不能 ssh 进入它们)。最好我们可以选择下载新版本或为已下载的 tarball 提供新版本。(但只下载或只 tarball 也可以)
带有安装和更新(新版本)的软件包也最好由单个命令构建。
我一直在阅读有关 phar、pear、phing 的一些信息,但我不知道最好的方法是什么。持续集成服务器并不是真正需要的,但我考虑在构建版本后自动部署测试环境。
最初只有 php 应用程序的更新必须非常容易,安装时可以手动填写最初的配置文件。
maven-2 - 为什么 maven 发布插件允许在依赖管理中使用 SNAPSHOT 版本?
我们有 1 个公司的父 pom。这使用dependencyManagement 来管理所有使用的工件的所有依赖项的版本。
令人震惊的是,SNAPSHOT 版本可以在dependencyManagement 中定义。虽然在执行 maven 发布时,pom 允许在依赖管理中使用 SNAPSHOT 版本发布。为什么?
如果我将子项目指向公司父 pom 的已发布版本,并且该子项目使用在 dependencyManagement 中定义的依赖项,尽管它是 SNAPSHOT 版本,我无法发布子项目。
为什么 Maven 允许发布在 dependencyManagement 中定义的工件的 SNAPSHOT 版本?如果定义了 SNAPSHOT 版本,如何配置 maven 发布插件失败?