【问题标题】:Can files outside of the Maven folder structure get compiled?可以编译 Maven 文件夹结构之外的文件吗?
【发布时间】:2015-10-14 11:51:18
【问题描述】:

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

所以问题是“可以编译 Maven 文件夹结构之外的文件吗?”如果是这样,我是否需要重组所有代码以放入正确的 Maven 文件夹结构中以尝试使其再次工作?

感谢您的宝贵时间。

下面的文件夹树的粗略视图:无法发布 POM,因为它在另一个系统上


  • 项目名称
    • 源代码
      • main/java/
    • 主干
      • 项目名称
        • ...在这里eclipse中播放framework文件夹结构,modules,precompiled,tmp
        • 配置
    • 网页内容
      • 元信息
      • WEB-INF

【问题讨论】:

  • 能否发布您当前的 POM、文件夹结构以及您希望在此结构中编译的文件?
  • 您始终可以将传统 Maven 结构之外的文件包含到您的构建过程中,但我不建议这样做。你能提供你的实际文件结构吗?

标签: java maven-2


【解决方案1】:

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

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

使用多个源目录 单个 JAR(或其他工件),并且有多个源目录 包含您想要包含的类。

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

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

作为旁注this answer 涵盖了用于构建战争的非标准目录布局。

【讨论】:

  • 感谢 Laurentiu,这些信息看起来会让我们走上修复构建的正确道路。非常感谢大家的意见。
猜你喜欢
  • 2011-09-24
  • 1970-01-01
  • 2014-02-23
  • 1970-01-01
  • 2017-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多