【问题标题】:Spring Roo do not understand the projectSpring Roo 不懂项目
【发布时间】:2014-10-06 02:51:11
【问题描述】:

我的项目使用 Spring Roo 创建实体,配置 v.v... 六个月前。一切正常。但是现在,当我使用 Spring Roo 创建新实体时

entity jpa --class example

我得到了错误

Command 'entity jpa --class example' was found but is not currently available (type 'help' then ENTER to learn about this command)

我尝试了其他命令

datbase property list
enum constant --name example

我收到类似的错误

当我尝试创建一个示例 Roo 项目并测试这些命令时。它们工作正常

当我尝试创建一个空目录并运行命令时(不运行项目 --topLevelPackage)

entity jpa --class example

我得到结果

Command 'entity jpa --class example' was found but is not currently available (type 'help' then ENTER to learn about this command)

Roo 版本是

1.2.5.RELEASE [rev 8341dc2]

log.roo 文件的内容是

// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log opened at 2014-04-25 11:01:12
hint
exit
// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log closed at 2014-04-25 11:03:28
// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log opened at 2014-04-25 11:03:35
exit
// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log closed at 2014-04-25 11:04:11
// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log opened at 2014-10-06 09:22:27
version

我不确定,但我认为问题在于我更改了 pom.xml 文件中的某些内容 如何解决这个问题呢 ? 感谢您的帮助。

【问题讨论】:

  • 请注意,如果 Roo 示例有效,则问题似乎出在您的项目中……在这种情况下,您提供的信息不足以推断会发生什么。
  • 感谢@eruiz。我在 pom.xml 文件中添加了一些丢失的标签并修复了错误

标签: spring spring-mvc spring-roo


【解决方案1】:

Roo 非常固执己见,与 Spring Boot 等项目不同,如果您不同意它,他会不高兴。更改任意数量的配置设置,例如 persistence.xml 的位置(或者特别是不使用)或完全有效的 POM 更改,都会以不明显的方式破坏 Roo。

您做了一些更改,使 Roo 没有意识到您的项目是 JPA 项目。比较一个干净的 Roo 项目,看看有什么不同。

我个人放弃了 Roo,并在 Roo 所做的几乎所有事情上都转向了 Groovy,通常在实体类上使用 @CompileStatic

【讨论】:

  • 感谢@chrylis,我在 pom.xml 文件中添加了一些缺少的标签 ,现在 roo 可以正常工作了
  • 感谢董洁的澄清。
  • @chrylis Boot 和 Roo 都需要元信息才能工作……如果您使用不受支持的注释,您就不能期望 Boot 工作,就像您使用不受支持的注释时不能期望 Roo 工作一样。此外,Roo 也使用 XML 配置作为元信息,因此 XML 元文件中不受支持的信息会导致 Roo 无法按预期工作。在这种行为中,Boot 与 Roo 不同,因为它不使用 XML 文件作为元文件。
  • @eruiz Boot 竭尽全力避免需要元信息。它使用 SPI 启用类路径上的任何内容,并使用 @Conditional 启用任何配置的内容。 Roo 使用有缺陷的 POM 解析和关于配置信息存储位置的脆弱假设,如果提供程序由属性文件以外的任何内容配置,则无法告诉“相信我,这是一个 JPA 项目”。
  • @chrylis 反正 Roo 和 Boot 是不能比较的,因为 Roo 是一个开发工具,而 Boot 是一个框架,是不一样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-20
  • 1970-01-01
  • 2012-09-05
相关资源
最近更新 更多