构建具有动态依赖关系的多个java项目
我在一个文件夹中有多个java项目。还有第二个包含库的文件夹,可以用作项目的生成依赖项。这些项目还可能依赖于其他项目。构建所有项目的最佳方法是什么构建具有动态依赖关系的多个java项目,java,ant,build,compilation,project,Java,Ant,Build,Compilation,Project,我在一个文件夹中有多个java项目。还有第二个包含库的文件夹,可以用作项目的生成依赖项。这些项目还可能依赖于其他项目。构建所有项目的最佳方法是什么 换句话说,我想在不明确说明项目依赖性的情况下构建项目。我认为最大的问题是项目之间的依赖性。无论您使用什么工具,如果您有各种相互依赖的项目,您需要在构建依赖项目之前先明确将要构建的独立项目。您的项目需要有一个清晰的依赖关系结构。您可以使用。您可以为公共库布局位置,在每个项目中的ivy.xml文档中定义已发布的工件和相互依赖关系,并让具有ivy任务的顶级
换句话说,我想在不明确说明项目依赖性的情况下构建项目。我认为最大的问题是项目之间的依赖性。无论您使用什么工具,如果您有各种相互依赖的项目,您需要在构建依赖项目之前先明确将要构建的独立项目。您的项目需要有一个清晰的依赖关系结构。您可以使用。您可以为公共库布局位置,在每个项目中的ivy.xml文档中定义已发布的工件和相互依赖关系,并让具有ivy任务的顶级Ant build根据这些依赖关系确定构建顺序。您可以使用多个构建系统。它内置了一个完整的依赖系统。几乎所有第三方开源JAR都可以通过WorldWideMaven存储库系统直接访问。基本上,您描述了所需的jar(groupId、artifactId和version),Maven将自动为您获取它。不仅如此,Maven还将构建您的项目,而无需创建构建文件。相反,您必须在项目对象模型(一个
pom.xml
文件)中描述您的项目,Maven将下载您需要的所有东西,包括所有编译器等
几乎所有新项目都使用Maven,但Maven有一些缺点:
- 由于您不控制构建过程,因此有时可能会感觉像戳一个黑盒子,以使构建按您想要的方式工作
- 文档可能很少——特别是当您正在超越基本Java编译时
- 您通常必须在特定的布局中安排项目。例如,源文件应该放在
下,而JUnit测试放在src/main/java
下。您不必遵循推荐的布局,但随后必须以这种方式修改src/test/java
文件,以使构建正常工作。这首先违背了pom.xml的全部目的pom.xml
- 如果您已经有了另一个构建系统设置(如Ant),那么您将失去一切。从Ant到Maven没有简单的方法
哦,还有第三种可能性,我对它一无所知。我还相信它可以使用世界范围的Maven存储库。它是基于Groovy的,Groovy基于Java语法,这就是我所能说的。也许其他人可以告诉你细节。Gradle group声称它解决了Ant/Ivy和Maven的许多问题。您使用的是IDE吗?专家或者仅仅是ant?我不认为这是最好的方法,但一个相当不错的方法是使用Maven作为您的构建工具。我需要一些来自控制台的东西…@aphex Maven是基于文本的,如果这是您的意思的话。库应该放在Maven存储库中吗?那么项目之间的相互依赖性呢?有没有工具可以分析哪些是独立的项目?