可以编译 Maven 文件夹结构之外的文件吗?

Can files outside of the Maven folder structure get compiled?

我们有一个 Java 项目,大约 2 年前根据日期进行了修改。 该项目使用了一个 Play Framework,我记得它是在 2012 年构建的 运行。 开发人员显然曾试图将项目更改为 Maven 项目,但文件夹结构到处都是,而不是在 Maven src 文件夹结构中。 尝试 运行 Play 命令不再适用于构建项目,使用 Maven 命令也无法编译代码。 发生的只是将所有文件夹和源代码打包到一个 .jar 文件中。

所以问题是 'Can files outside of the Maven folder structure get compiled?' 如果是这样,如何, 我是否需要重组所有代码以放入正确的 Maven 文件夹结构中以尝试获取这又可以工作了吗?

感谢您的宝贵时间。

下面文件夹树的粗略视图:无法 post 另一个系统上的 POM


是的,您可以在非标准 Maven 文件夹结构中编译文件。 Maven 原生支持多个源目录用于生成源。

阅读Maven use guide When You Can't Use the Conventions

Using Multiple Source Directories This occurs when you are producing a single JAR (or other artifact), and have several source directories with classes you want to include.

This answer 展示了如何通过指定要从 superpom 覆盖的适当属性来编辑 Maven 中的目录结构。

The Maven pom docs显示上面link中提到的构建元素集。

作为旁注 this answer 涵盖了构建 war.

的非标准目录布局