gpt4 book ai didi

java - 使用 Ant 进行 JARring

转载 作者:行者123 更新时间:2023-12-01 05:40:25 25 4
gpt4 key购买 nike

我的项目有许多我从其他项目引用的依赖项。我现在正在编写 build.xml 文件,并且正在编写 JAR 任务。我想我将从大胆的假设开始,如果我希望我的 JAR 在 Eclipse 之外正常运行,我需要在 JAR 文件中的某个位置包含每个引用的 JAR 依赖项的副本。

所以我现在需要在 jar 任务下添加一个 fileset 来指示 Ant 将这些依赖项包含在 JAR 中。问题是,当我切换到导航器 View 并尝试在项目中查找依赖项时,我找不到它们!对它们的唯一引用是在引用它们的绝对 URL 的 .classpath 文件中,我认为 Eclipse 就是这样找到它们的。

所以我的问题是,如何指示 Ant 查找此 .classpath 文件中的依赖项并将它们包含在我的 JAR 中?

我担心的是,我必须首先手动将每个 JAR 复制到项目根目录下的目录中,然后在构建中简单地引用该目录。但是有很多 JAR,这意味着很多时间会因为复制粘贴而丢失。

请不要对 Ivy 或 Maven 提出建议,我很清楚这些是适合我的情况的最佳解决方案,但由于超出此问题范围的原因,它们是不可行的。

感谢您的帮助。

最佳答案

您希望您的项目生成可执行 jar,还是将其作为提取并运行的可分发包的一部分?如果它不是您需要的可执行 jar,那么您应该创建一个仅包含项目中的类和资源的 jar,而不包含任何依赖的 jar。然后,如果您想将项目作为可分发包发布,您可能会创建一个包含依赖项的 zip 和 tar.gz。

据我所知,没有办法在 Ant 和 Eclipse .classpath 文件之间自动同步文件集。除了编写自己的工具(我以前见过这样做)。因此,手动复制 jar 可能是最快的解决方案。

关于java - 使用 Ant 进行 JARring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7322693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com