- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有三个项目:A、B、C和 ant 中的 build.xml 应该编译它们。
C 依赖于 B,而 B 又依赖于 A
到目前为止,我的所有依赖项都在 eclipse 中,并且我在 ant 中有一个 build.xml:
<eclipse.incrementalBuild project="A" kind="incremental"/>
<eclipse.incrementalBuild project="B" kind="incremental"/>
<eclipse.incrementalBuild project="C" kind="incremental"/>
现在,我有 ivy.xml 文件 - 例如:
<ivy>
<ivy module="B"/>
<dependencies>
<dependency name="A">
</dependencies>
</ivy>
现在,当我按顺序将 A、B、C 发布到存储库(我使用 sonatype nexus 存储库)时,一切都很好,因为存储库也用于解析,所以过程是:1. 解决 A 的依赖关系 - 没有这样的2.将当前工作区A中的jar文件上传到存储库3. 解析 B 的依赖关系 - A 被解析为依赖关系4.将当前工作区B中的jar文件上传到存储库5. 解析 C 的依赖关系 - B 和 A 被解析为依赖关系6.将当前工作区C中的jar文件上传到存储库
我认为发布到 Nexus 的方式是为了交付产品
我需要的是一个简单的 build.xml 来编译我的项目 - 所以我不想一直发布新版本。相反,我正在寻找使用 Ivy 的方法1.编译A2.然后使用已经编译好的A来编译B2.然后使用已经编译的B,A编译C
我考虑过在文件系统中使用本地存储库,其中进行了第 1-6 阶段 - 生成要使用的本地 jar - 但是,这有点麻烦,因为:1.我的解析必须包含两个解析器 - Nexus 存储库之前的文件系统 - 这意味着在真正的发布中,我必须记住删除本地 jar2. 对于我相信可能有更简单的解决方案的事情来说,听起来有点太多的工作。
本质上,我想模仿 eclipse 的 IVY 插件,它可以解决工作区中的依赖关系并使用工作区中的其他项目编译项目 - 但我正在寻找最好的、最推荐的方法来做到这一点。
谢谢
最佳答案
你说:
I have three projects: A, B, C and build.xml in ant that should compile them.
这表明您的项目实际上是一个大型整体构建。
相反,您需要模拟 Maven 的工作方式。每个模块都需要有自己的构建文件和一个列出该模块依赖项的 ivy 文件。每个模块将其自己的 jar 工件发布到存储库(本地或远程)中,以便使用 ivy 解析操作可供其他模块访问。
以下示例提供了有关使用 ivy 进行多模块构建的 ivy 文档的链接。
分解一个大项目并不容易,我希望这会有所帮助。
关于java - IVY - 多项目本地构建 - 模仿 "resolve dependencies in workspace",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27537645/
为什么 Eclipse 在构建 Android 项目时会陷入无限循环,用于构建工作区...和(重新)构建工作区...和(重新)构建工作区... 这是一个已知的错误吗? 摆脱这个循环的正确方法是什么?
当我排队构建时,我遇到了这个问题。构建因错误而死亡 The path C:\[Path]\Sources is already mapped in workspace [Server Name]. s
本文整理了Java中org.brixcms.workspace.Workspace.getId()方法的一些代码示例,展示了Workspace.getId()的具体用法。这些代码示例主要来源于Gith
本文整理了Java中org.brixcms.workspace.Workspace.setAttribute()方法的一些代码示例,展示了Workspace.setAttribute()的具体用法。这
本文整理了Java中org.brixcms.workspace.Workspace.getAttribute()方法的一些代码示例,展示了Workspace.getAttribute()的具体用法。这
我有一个工作区 A,其中在计算机 A 上 checkout 了文件。现在我想继续在计算机 B 上进行开发。我从计算机 A 复制文件,并创建一个新的工作区 B 并映射到复制的文件。 现在 Visual
我正在用 gatsby 创建一个新项目gatsby new YourProjectName2 https://github.com/Vagr9K/gatsby-advanced-starter并得到一
我想切换构建节点并将整个工作区转移到新节点。 node('node1') { ... stash 'my_workspace' } node('node2') { ...
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.getEditorKit()方法的一些代码示例,展示了Workspace.getEdi
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.getViewManager()方法的一些代码示例,展示了Workspace.getV
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.getStatusArea()方法的一些代码示例,展示了Workspace.getSt
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.save()方法的一些代码示例,展示了Workspace.save()的具体用法。这些
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.installLookAndFeelMenu()方法的一些代码示例,展示了Worksp
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.setLayout()方法的一些代码示例,展示了Workspace.setLayout
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.changeFontSize()方法的一些代码示例,展示了Workspace.chan
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.getTitle()方法的一些代码示例,展示了Workspace.getTitle()
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.initialiseExtraMenuItems()方法的一些代码示例,展示了Work
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.add()方法的一些代码示例,展示了Workspace.add()的具体用法。这些代码
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.showResultsView()方法的一些代码示例,展示了Workspace.sho
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.adjustBorder()方法的一些代码示例,展示了Workspace.adjust
我是一名优秀的程序员,十分优秀!