【问题标题】:What's the correct way to create a new Spring Roo Project with multiple maven modules?创建具有多个 Maven 模块的新 Spring Roo 项目的正确方法是什么?
【发布时间】:2012-03-26 21:25:16
【问题描述】:

如何配置 Spring STS 以使用现有的多模块 Roo 项目或从头开始创建新项目?

我们来看第一种情况:使用 Roo shell 在 STS 之外创建项目。

我所做的只是创建父项目并向其添加一个 maven 模块。我没有设置 JPA 或创建任何实体。

导入此类项目时(作为现有的 Maven 项目),Spring STS 不附加 Java 项目性质。结果,我无法使用 IDE 的内容辅助功能,或执行重构(STS 抱怨代码不在构建路径上)。

在第二种情况下,我只想从 STS 中创建一个新项目,并开始使用 Roo 以及稍后将创建的多个 maven 模块。

当使用 New Spring Roo Project 向导时,我选择包类型为“POM”并让向导完成工作。但是,错误会在“问题”视图中报告。 STS 抱怨它找不到预期的源文件夹(例如,src/main/java ...)。

为什么这么难?

谢谢, 杰夫

【问题讨论】:

    标签: eclipse maven spring-roo sts-springsourcetoolsuite


    【解决方案1】:

    嗯,我使用 Roo 已经有一段时间了,注意到了与您刚刚报告的相同的异常情况。我还没有查看您的博客,但已标记为进一步阅读。

    无论如何,对于我的多模块项目,我通常在 STS 内部或外部创建它们。两者都会导致您报告的相同问题(#1 错误的父项目结构,找不到 src,以及 #2 在导入为 Maven 项目后损坏项目)。

    首先我想澄清的是,在将项目导入 STS 或任何带有 Maven 插件的 Eclipse 版本之前,您不必运行“执行 eclipse”。导入将仅通过“导入 Maven 项目”选项(这也在 Roo 手册中明确编写)起作用(具有先前的缺陷)。

    至于我们正在讨论的问题,我通常会从子项目的 POM 中删除 Roo 性质,以避免打开 Roo Shell(如果发生这种情况,Roo 倾向于删除一些 .aj 文件,正如你所说,它会破坏你的项目)。然后我坚持 Roo 只在父项目内部使用,然后使用“模块焦点”命令处理子项目。

    我相信 Spring 团队会在适当的时候让一切正常运行,但就目前而言,Roo 是一个不错的选择,我相信这些变通办法值得在 Eclipse/STS 中继续使用它。

    最好的问候, 蒂亚戈·乌列尔

    【讨论】:

      【解决方案2】:

      首先,如果您需要在 Eclipse 中使用基于 Roo 控制台的项目 - 您需要在 Spring Roo shell 中运行 perform eclipse。在内部,它调用 Maven Eclipse Plugin 并运行 mvn eclipse:eclipse 以确保您的 Maven 项目可以成功导入到 Eclipse / STS。

      关于多模块项目,请在 StackOverflow 上查看与多模块项目相关的现有问题。

      干杯。

      【讨论】:

      • 这周我花了几天时间与 Roo 和 STS 一起玩,发现某些事件也无法在它们之间进行交流。这可能会导致项目混乱,这一切都是因为您希望该工具能够做某事。我已经记录了我发现的内容、重现的步骤以及我的解决方案:brainwreckage.com/2012/03/…
      • 太棒了。您提到的大多数问题都可以通过在 Eclipse 工作区首选项中启用“使用本机挂钩或轮询刷新”选项来解决。
      • 我尝试了您的建议,但结果相同,只有两个例外:在第一个测试用例第 12 步中,STS 确实正确创建了 src/main/resources 文件夹。在第三个测试用例第 12 步中,当打开 pom.xml 文件时,STS 没有抱怨 NullPointerException。除了这两个差异之外,我描述的所有问题仍然存在。自己试试这些。如果你有不同的结果,我非常想知道。 -杰夫
      猜你喜欢
      • 1970-01-01
      • 2019-05-21
      • 2019-02-02
      • 1970-01-01
      • 1970-01-01
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多