【问题标题】:Can Ant determine dependencies while building jar fileAnt可以在构建jar文件时确定依赖关系
【发布时间】:2015-09-27 23:06:42
【问题描述】:

我希望能够使用 Ant 在更大的 Java 项目中基于单个类构建 jar 文件,并让它自动确定依赖关系。

我可以愉快地创建一个 Ant build.xml 文件来为项目创建一个包含所有类的 jar,尽管其中包含许多 jar 中不需要的东西。

当我只包含一个源文件时,即:

<patternset id="source.pattern"> <include name="MyProject/src/java/com/myproject/cow.java" /> </patternset>

然后构建 jar 我得到了关于 cannot find symbol 的明显抱怨(关于项目中在 cow.java 中使用的对象),这表明它只包括我指定的文件。

它可以检测到丢失的符号/类/对象这一事实表明它能够满足我的要求。

我不希望它从 Eclipse 构建。我只想创建一个build.xml 以从命令行运行。

提前致谢。

【问题讨论】:

  • 不,这不是依赖系统的工作方式。没有魔法系统可以解决这个问题。对于 Ant,您必须查看 Ivy 来管理您的依赖项,但通常 Maven 或 Gradle 是更好的选择。不过,您仍然必须明确声明您的依赖项。

标签: java ant jar


【解决方案1】:

没有 Ant 不能自动确定依赖关系。这就是引入 Maven 和 Ivy 等项目的具体原因之一。

它可以检测到丢失的符号/类/对象这一事实表明它能够满足我的要求。

检测缺失类的不是 Ant,而是底层 Java 编译器(通常是 JDK 中的 javac)这样做。所以你的假设是完全错误的。

【讨论】:

  • 这使编译器检测到丢失的类。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 2015-09-19
  • 2014-12-27
相关资源
最近更新 更多