Java项目目录结构约定

bad*_*unk 6 java directory maven

我曾在maven项目中工作过,目录结构如下所示:

src/
  main/
    java/
  test/
    java/
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*ski 6

它是Maven特定的目录结构约定,但是它甚至在Maven世界之外变得非常流行,因为它很好(就像任何其他有意义的约定一样)并且没有理由不将它用于Ant管理的项目或仅仅常规Java项目.甚至不需要项目的Java性质.例如,有一个FlexMojos项目可以使Maven管理Flex项目.

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