2012-05-13 43 views
5

换句话说,Gradle是否将某种目录结构强加到它所管理的项目中?Gradle句柄可以构建旧版项目而不必重构目录吗?

我在我的盘子里有一个遗留项目,任务是让它更容易构建和管理。它是一个多模块Java EE应用程序。 我发现(你肯定也会这样认为)目前的构建过程完全是倾斜的,完全浪费时间。

我相信这是通过引入构建管理系统来拉直事物的时候,并且选择是在Maven和Gradle之间进行的。

大多数项目都使用eclipse项目的目录结构。其他几个使用不同的目录布局,直到现在我无法找到背后的原因。 使用Maven,这将是一个绊脚石,因为我们需要重组目录以符合maven的约定。重组目录可能需要额外的努力,因为我们需要在CVS上进行整理。

因此,问题到Gradle。

回答

1

两者都可以适应任意的目录结构。国际海事组织(IMO)在Gradle中更容易,在Maven中不值得。

这就是说,我喜欢有一个强加的目录结构,并在大多数情况下,我喜欢Maven结构。由于目录处理问题,CVS很痛苦,但从长远来看,跨项目转向一致的结构是值得的。

6

Gradle使用约定优先于配置,允许您在遵循标准项目布局时提供最少的信息来构建项目。这就是说一切都还在配置以声明方式:

sourceSets { 
main { 
    java { 
     srcDir 'src/java' 
    } 
    resources { 
     srcDir 'src/resources' 
    } 
} 

}

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

+3

请注意,此_adds_源目录而不是替换它们。替换的语法是'srcDirs = ['src/java']'和'srcDirs = ['src/resources']'。 –