代码之家  ›  专栏  ›  技术社区  ›  Tahir Akhtar

我可以在不使用Maven的现有项目中使用SpringRoo吗?

  •  5
  • Tahir Akhtar  · 技术社区  · 16 年前

    Spring Roo 可用于现有项目 follow standard maven layout . 到目前为止,这似乎意味着不使用Maven的项目是不走运的。

    我想知道对于这样的现有项目,有什么选择(如果有的话)。

    重新安排项目布局以符合Maven布局?这对于有着多年历史的项目来说似乎是非常困难的,因为 method for moving around directories 在CVS中是非常有侵略性的。

    是否还有其他选项,如修改Maven配置以使用非标准布局?从我早先读到的关于这个主题的文章中,我记得的,Maven's CoC 这种方法不支持这种非标准布局。

    编辑:

    Rich下面的答案表明,在超级POM中过度使用默认值是很平常的。这就给我们留下了一个问题,那就是SpringRoo是否会在这样的修改中表现出色。这是值得怀疑的,因为春天的鲁奥不使用马文本身。

    编辑:

    Rich更新的答案显示,默认情况下,Roo将使用硬编码路径,并且不会在pom.xml中选择修改。 所以到目前为止,答案似乎是它不可能是开箱即用的,但可以通过一些定制的编码(或者要求Roo团队支持这一点)来完成。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Ben Alex    16 年前

    我们(Roo团队)没有理由不能让MavenPathResolver允许使用自定义路径,而我创建PathResolver抽象的目的之一是支持自定义公共路径位置,不仅支持Maven非默认位置,还支持其他构建系统(如Ant+Ivy)。所有的基础Roo附加组件都是为使用PathResolver而编写的,因此不应该是支持这一点的主要工作。请将增强请求添加到 Roo Jira instance 如果你还想要这个支持的话。

        2
  •  2
  •   Rich Seller    16 年前

    您可以修改maven以使用不同的约定集。标准集继承自 Maven super POM 可以通过重新定义相关属性来重写。

    例如,将源目录从SRC/Ma/Java转换为SRC,测试目录来测试SRC,以及从SRC/主/资源到您将在POM中设置以下资源的资源目录:

    <build>
      <sourceDirectory>src</sourceDirectory>
      <testSourceDirectory>test-src</testSourceDirectory>
      <resources>
        <resource>
          <directory>resources</directory>
        </resource>
      </resources>
    </build>
    

    请注意,一些插件可能不会使用标准属性访问位置(例如,硬编码目标/类,而不是使用$project.build.outputdirectory),因此您可能会遇到奇怪的问题。


    更新:看起来Roo现在有这些 properties hardcoded . 您可以替换mavenpathresolver或添加其他resolver以使用自定义属性。

    如果这对你来说是个真正的问题,你可以 raise a request 修改mavenpathresolver以允许自定义位置。

        3
  •  1
  •   Paul Verest    14 年前

    自Roo 1.2起,未实施。