问题标签 [build-dependencies]
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.
java - 在 Java 中,引用的库是否完全包含在导出的 jar 中?
如果我有一个包含 3 个类的库,我将其作为外部库包含在我的 java 构建路径中,并且它由以下部分组成:
A类:
B类:
C类:
然后在我的项目中我做了:
然后将其导出为可运行的 jar,是否将 C 类包含在此 jar 中,而不管它没有在任何其他类中引用甚至使用?
当您看到 C++ 中超过 10mb 的库但使用该库的导出可执行文件要小得多时,我想到了这一点。那么,这对于 java 来说是不是同样的情况?
c++ - CMake 不生成依赖对象文件
我正在编写一个小编译器,但现在我被 cmake 困住了,它不会生成所有依赖的目标文件。
只有main.cpp
编译:
我CMakeLists.txt
的是以下(子目录):
如前所述, onlymain.cpp
被编译为main.cpp.o
而不是lexer.cpp
and parser.cpp
,因此链接器因未解析的符号而崩溃。不知道,我做错了什么。
mesos - Jenkins、Mesos 和从属依赖项
背景
我们当前的基础架构由一个 Jenkins 主服务器和一些从属 VM 组成。由于虚拟机工作过度,我们的测试遇到了很多可扩展性和固有的稳定性问题。
Mesosphere 和 Jenkins
话虽如此
,我正在寻找更多的解决方案,尤其是 mesosphere,因为它能够根据需要动态生成从属。
我唯一的问题是我们在从属虚拟机上安装了所有这些依赖项。为了让 Jenkins 在 mesos 上工作,我必须通过在 mesos 从站上安装依赖项来“弄脏”它们。这会使这些 mesos slave 变得毫无用处,因为它们只适合运行 Jenkins。
问题
在 Mesos 中与其他应用程序一起实现 Jenkins 环境的正确方法是什么?
include - 使用 CMake 解决异国语言中的#include 依赖项
我正在尝试使用 CMake 作为我的构建工具驱动程序(我立即明确表示我对 CMake 很陌生,因为这是我的第一个自己的 CMake 项目)。我的项目主要是 C 语言,其中包含一些我将在这里称为 Z 的外来语言的文件。这些 Z 文件必须由他们的 Z 编译器处理以生成 .h 和 .c 文件。
我设法调整 CMake 处理 Z 编译和纯 C 文件之间的依赖关系并生成 Z -> .h 标头
并且 CMake C- #include
scanner 可以正确完成其余的工作。
现在,Z 文件使用与 C#include
构造等效的东西,我想在 Z 包含的文件之一发生更改时从自动重新编译中获利。
如果 aZ 包括 inc.Z,我试过:
但这不会触发自动重新编译 aZ CMake 手册说此属性是为此目的而引入的,对于 C/C++ 不再需要。但是在我的 Z 案例中它是无效的。
如果我修改我的自定义命令如下:
我得到了想要的结果,但并不是所有的 Z 文件都依赖于 inc.Z(另一个可能依赖于 inc2.Z)。
然后我尝试使用动态生成DEPENDS
列表
并用
注意:错误在变量替换周围有或没有双引号是相同的
我猜 CMake 将我的依赖项列表解释为单个(不存在的)文件名,并且 make 无法处理它。无论如何,变量中提到的文件dependencies
并不是要编译的,只是要包含在某个地方。他们必须以自己的方式只作为依赖项。
我应该往哪个方向去达到预期的效果?
回想一下,这是我自己的第一个CMake项目,我当然犯了新手错误。
FWIW,我的平台是带有 CMake 2.8.9(不是前沿,但我只是在探索)和 KDevelop 4.x 的 Linux
谢谢你的帮助。
playframework - Playframework 2.3.x 子项目:声明项目间依赖关系
我有一个 play 2.3.x 项目,其中包含相互关联的多个子项目。
说:
- R是聚合子项目A、B、C的根项目
- A取决于B,C
- B 取决于 C
文档没有提到应该如何为 A、B、C 编写相应的 build.sbt。
https://www.playframework.com/documentation/2.3.x/SBTSubProjects
目前我在我的根 build.sbt 中声明了所有依赖项,它工作正常(至少对于 sbt 0.13.5)。
但是当我尝试使用更新的 sbt,比如 0.13.6 时,所有这些依赖项都不再起作用,并且似乎它将引用相应 build.sbt 的 build.sbt。
那么定义这种项目间依赖关系的首选方法是什么?
java - 将 Gradle 与本机依赖项一起使用
我正在尝试在 Gradle 项目中使用Sigar 。Sigar 分发默认提供两种类型的文件:
- 包含类的 JAR
- 一些本机文件(.so、dylib、.dll)
我的目的是重新打包这些文件,以便我可以将它们用作从个人 Maven 存储库按需部署和下载的依赖项。
我的第一次尝试是将依赖项定义为文件,以检查我的应用程序是否按预期工作以重新打包。下面是我用于我的第一个测试的 Gradle 代码:
然后,我将 Sigar 本机文件重新打包到 JAR 中并重命名另一个以匹配 maven 工件的规则,因为我想将它们部署在 Maven 存储库中。以下是我得到的:
- sigar-1.6.4.jar(包含 .class 文件)
- sigar-1.6.4-native.jar(在根目录包含 .dylib、.so 和 .dll 文件)
下一步是将这些文件部署到我的自定义存储库中。然后,我将我的更新build.gradle
如下:
不幸的是,当我执行 a 时gradle clean build
,会获取新的依赖项,但在运行时无法再找到本机库,因为现在我得到以下异常:
因此,我正在寻找一种解决方案来获取本机文件并将其链接到我的 Java 应用程序,就像其他依赖项一样。欢迎任何意见、评论、建议、帮助、解决方案等;)
android - 在 Gradle 中排除传递依赖
我正在查看位于HereUNEXPECTED TOP LEVEL EXCEPTION
的 F-Droid 上的联系人合并应用程序的来源,并在编译期间
获得了一个。
我见过这样的问题,所以我知道错误来自重复的 SPIClassIterator 文件。在源代码中,SPIClassIterator.java
创建了一个新的,所以这是有道理的。我该如何exclude
在 gradle 中使用来删除原始SPIClassIterator
类文件。或者避免这种情况的最佳方法是什么?
这是错误日志的截图。
下面是 build.gradle 的一部分
我尝试使用排除,lucene-core
因为它是包含SPIClassIterator
我想排除的原始库的库。我很欣赏澄清。
visual-studio-2013 - 修复 Visual Studio 中的构建依赖项
假设我们有一个项目P1
并且P2
不相互引用。这两个项目都在两个解决方案中引用,并且恰好P2
在P1
.
现在,如果我P2
在一个解决方案中向项目添加依赖项,则该解决方案中的构建依赖项将非常好(P2
现在将在之前构建P1
),但另一个将错过该依赖项更新并且解决方案不会自行更新。
有人知道基于当前项目依赖项修复构建依赖项的“工具”吗?
java - 排除重复的 Gradle 传递依赖项
我的项目有以下依赖树:
注意标有 的叶子*
,因为它们是重复的;我该如何解决这些重复?
gradle - Gradle - 从 pom 文件中排除依赖项
我有一个使用 Gradle 构建的项目(项目“A”)。另一个项目(项目“B”)使用项目 A 作为依赖项。在项目 A 中存在依赖项,但项目 B 不需要其中的一些。
我需要在项目 B 中排除这些依赖项,但我不希望 B 必须知道要排除的依赖项列表。所以我想在A中做到这一点。
我正在寻找一种从 A pom 文件中排除依赖项的方法,这将给我我需要的东西,但没有找到如何做到这一点。