Gradle可以处理遗留项目的构建而无需重新构建目录吗?

bun*_*udi 5 java build-automation build gradle maven

以其他方式提出问题,Gradle是否将某些目录结构强加到它管理的项目中?

我有一个遗留项目,我的任务是让它更容易构建和管理.它是一个多模块Java EE应用程序.我发现(而且你也确定)当前的构建过程是完全倾斜的,完全浪费时间.

我认为现在是通过引入构建管理系统来理顺事物的时候,而选择是在Maven和Gradle之间.

大多数项目都使用eclipse项目的目录结构.其他几个使用不同的目录布局,直到现在我找不到背后的原因.使用Maven,这将是一个绊脚石,因为我们需要重新构建目录以符合maven的约定.重构目录可能是一项巨大的额外工作,因为我们还需要在CVS上对其进行排序.

因此Gradle的问题.

Dyl*_*gte 6

Gradle使用约定优于配置,如果您遵循标准项目布局,则允许您提供构建项目的最少信息.也就是说,所有内容仍然可以使用声明式样式进行配置:

sourceSets {
main {
    java {
        srcDir 'src/java'
    }
    resources {
        srcDir 'src/resources'
    }
}
Run Code Online (Sandbox Code Playgroud)

}

因为你有一个真正的编程语言,你几乎可以做任何事情.

  • 注意这个_adds_源目录而不是替换它们.替换的语法是`srcDirs = ['src/java']`和`srcDirs = ['src/resources']`. (4认同)

Dav*_*ton 1

两者都可以容纳任意目录结构。IMO 在 Gradle 中更容易,但在 Maven 中不值得。

也就是说,我有点喜欢强加的目录结构,而且在大多数情况下,我喜欢 Maven 结构。由于目录处理问题,这在 CVS 中是一个痛苦,但从长远来看,跨项目迁移到一致的结构是值得的。