2012-05-14 58 views
6

其中目录结构如下:Java项目我已经在Maven项目工作目录结构公约

src/ 
    main/ 
    java/ 
    test/ 
    java/ 

我想知道是否有其他的目录结构公约存在。这个约定是特定于Maven还是适用于所有的Java?我有一个需要多种编程语言的项目,并对是否存在某种标准感到好奇。

+2

是的,它是Maven特有的。它可以被非Maven Java项目所采用,但那是它的起源。 – duffymo

+1

是的,还有'src/main/resources' – ant

回答

6

这是Maven特定的目录结构约定,但它甚至在Maven世界之外变得非常流行,因为它很好(像任何其他惯例一样合理),并且没有理由不将它与Ant-托管项目或只是普通的Java项目。即使是Java项目的性质也是不需要的。例如,有FlexMojos项目可以使Flex项目由Maven管理。

如果您打算使用许多编程语言,则必须使用一些额外的插件来扩展Maven功能。例如,您可以使用GMaven插件在Maven项目中启用Groovy语言支持。然后,有一个惯例(实际上:插件的默认设置)将Groovy源放入src/main/groovy。默认情况下,只支持Java。