Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant 具有适当依赖处理的Java builder_Ant_Build Process_Dependencies_Compilation_Scons - Fatal编程技术网

Ant 具有适当依赖处理的Java builder

Ant 具有适当依赖处理的Java builder,ant,build-process,dependencies,compilation,scons,Ant,Build Process,Dependencies,Compilation,Scons,在最近与我们的ant脚本玩了一番杂耍之后,我开始怀疑是否有更好的方法 我需要一个能够为我重新编译所有必需的.java文件的构建器 例如,对于这种结构 public class A { ] public class B extends A {} public class C { B b; } For:Compile('C')将知道如何编译A、B、C 对于:B更改,Compile('C')将知道只重新编译B 我知道有几种替代方案,它们看起来像是ant的扩展,ant是我们当前的java构建器

在最近与我们的ant脚本玩了一番杂耍之后,我开始怀疑是否有更好的方法

我需要一个能够为我重新编译所有必需的.java文件的构建器

例如,对于这种结构

public class A { ]
public class B extends A {}
public class C {
    B b;
}
  • For:Compile('C')将知道如何编译A、B、C
  • 对于:B更改,Compile('C')将知道只重新编译B
  • 我知道有几种替代方案,它们看起来像是ant的扩展,ant是我们当前的java构建器。目前我们正在使用C++来构建C++代码,SCONS在执行上面描述的C代码行为方面是很好的。然后有关于被杀的报道

    你有什么建议?您使用什么工具来构建系统的自由软件/商业软件

    谢谢,,
    Maxim.

    maven,对于我的个人和商业产品

    在您的问题中,您描述了类间依赖关系。大多数构建系统,尤其是Maven,更多地针对项目间的依赖关系。我相信大多数系统只是重新编译一个项目中的所有类,这些构建系统的大部分好处在于构建尽可能少的项目

    Maven和Ivy都允许您轻松指定项目的外部和内部依赖关系,包括您所依赖的项目版本。如果外部库(如ApacheCommons)尚未在本地缓存,它们还将自动下载到本地计算机,作为构建过程的一部分,从而节省大量手动下载和组织第三方jar文件的工作


    常春藤是蚂蚁的延伸,就像你提到的。我推荐Maven。这是一个面向约定的构建系统,我已经成功地使用了它,并且感觉它相当成熟。Maven在开始使用时所需的前期工作要少得多,而且具有很强的可扩展性。

    ivy、scons或Maven都不会帮助您解决上述问题

  • “for Compile('C')”是什么意思?我不认为这是你的ant文件中的内容
  • 在这种情况下,Ant应该按预期工作:您已经描述了它的默认行为。在同一个javac元素中,Ant只会重新编译更改过的类。请参阅javac任务的条目,特别是“includeDestClass”属性
  • 您可能应该发布一个您发现不充分的示例ant文件

  • Ant,启用和启用“关闭”选项
  • “make”,来自IDEA

  • re:ivy vs maven:对于启动一个新项目,我同意maven需要更少的前期工作。对于现有的项目(比如这个项目),Ivy可以简单地“插入”,而Maven通常需要更多的初始努力来适应它的期望。这是要求遵守公约的福与祸。