我们有一个基于日期约2年前修改过的Java项目。 该项目使用Play框架,正如我所回忆的那样构建并在2012年运行得很好。 开发人员显然已经尝试将项目更改为Maven项目,但文件夹结构遍布整个地方而不是Maven src文件夹结构中。 尝试运行Play命令不再适用于构建项目,并且使用Maven命令不会编译代码。 发生的事情只是将所有文件夹和源代码打包成.jar文件。
所以问题是' Maven文件夹结构之外的文件是否可以编译?'如果是这样, OR 我是否需要重新构建所有要放入正确的Maven文件夹结构的代码以尝试让它再次运行?
感谢您的时间。
下面的文件夹树的粗略视图:无法在另一个系统上发布POM
答案 0 :(得分:2)
是的,您可以在非标准Maven文件夹结构中编译文件。 Maven本身支持多个源目录以用于生成源。
阅读Maven use guide When You Can't Use the Conventions
使用多个源目录当您生成一个时,会发生这种情况 单个JAR(或其他工件),并有几个源目录 与您想要包括的课程。
This answer显示如何通过指定要从superpom覆盖的相应属性来编辑Maven中的目录结构。
The Maven pom docs显示上面链接中提到的构建元素集。
旁注this answer涵盖了构建战争的非标准目录布局。