我需要一个构建文件,它构建了一个名为a的java项目。项目a依赖于java项目b。该依赖是通过Eclipse IDE定义的:
Project A -> Properties -> Java Build Path -> Tab Project -> Add -> B
我的问题是如何实现这个项目的构建:
- 有必要将整个B.jar文件附加到A.jar上吗? 或者链接编译的类文件就足够了吗?
- 如何链接这些资源?
- 当我运行项目A时,Eclipse在做什么?
这不仅仅是Ant的问题。问题是如何获得这个依赖项(我假设它是一个Jar)。
你设置你的Ant build.xml
脚本在一个特定的位置检查这个依赖,如果它不存在,不要尝试做一个构建。
整件事的真相是:
- 您有一个发布存储库。您可以使用像Nexus或Artifactory这样的Maven存储库。这是站点运行的本地存储库。这个本地存储库可以连接到World Wide Maven存储库,所以所有的依赖都可以由Ivy处理。
- 项目"B"构建,并且将这个依赖项部署到发布库。
- 项目"A"有一个
ivy.xml
文件,它告诉项目它依赖于这个工件。 - 当您构建项目"A"时,它会自动从发布存储库中获取所需的工件并使用它。
这一切听起来很简单,除了Ivy的在线文档非常糟糕。我强烈推荐Manning的《行动中的蚂蚁》,作者是Steve Loughran和Erik Hatcher。他们有一个很好的章节是关于使用常春藤的。如果您使用Ant,我强烈建议您使用Ivy。而且,Eclipse也有一个Ivy插件