2015-10-14 74 views
2

我们有一个基于日期在2年前被修改的Java项目。 该项目使用了一个我刚才回想起来的Play框架,并且在2012年运行得很好。 开发人员显然已经尝试将项目更改为Maven项目,但文件夹结构遍布整个地方,而不是在Maven内src文件夹结构。 尝试运行Play命令不再适用于构建项目,并且使用Maven命令不会编译代码。 发生的只是将所有文件夹和源代码打包到.jar文件中。Maven文件夹结构之外的文件可以被编译吗?

所以问题是'Maven文件夹结构以外的文件可以被编译?'如果是这样,我是否需要重构所有要放置到适当的Maven文件夹结构中的代码以尝试使其再次运行?

谢谢你的时间。

下面的文件夹树的粗观点:无法投递的POM,因为它是在其他系统上


  • ,项目名称:
    • SRC
      • 主/ JAVA/
    • 躯干
      • 项目名称
        • ...玩框架文件夹结构在这里偏食,模块,预编译,TMP
        • 的conf
        • LIB
    • Web内容
      • META-INF
      • WEB-INF
+1

您可以发布您当前的POM,文件夹结构以及您希望编译的结构中的哪些文件? – Tunaki

+0

您可以随时将传统Maven结构之外的文件包含到构建过程中,但我不会推荐它。你能提供你的实际文件结构吗? –

回答

1

是的,你可以在一个非标准的Maven文件夹结构编译的文件。出于生成源的目的,Maven本身支持多个源目录。

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

使用多个源目录,当你产生 单一JAR(或其他产物)发生这一点,并有几个源目录 与要包括类。

This answer显示了如何编辑Maven中的目录结构,方法是指定适当的属性以从超类中覆盖。

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

作为附注this answer涵盖了建筑战争的非标准目录布局。

+1

感谢Laurentiu,这些信息看起来像会让我们找到正确的路径来修复构建。非常感谢大家的意见。 – Elijah