3

我创建了一个名为Card及其CardController. 由于我在创建它们时犯了一个错误,因此我删除了两者并再次创建了 Card 实体。

当我执行以下命令以使用新的 Card 字段获取 Controller 时,就会出现问题:

web mvc all

Roo 输出为:

Found existing controller for mapping '/cards'.
Created SRC_MAIN_JAVA\com\entities\CardController.java

当执行/cards路径时,我一直看到旧字段。此外,如果我再次删除控制器(我已经在 STS 和直接从文件系统中尝试过)并且我尝试这个:

web mvc scaffold --class com.web.CardController --backingType com.entities.Card

输出一直是:

Found existing controller for mapping '/cards'.
Created SRC_MAIN_JAVA\com\entities\CardController.java

所以问题是:Roo 在哪里找到控制器/cards,为什么如果找到它,它会在错误的旧包中再次创建它?

4

2 回答 2

0

从我可以看到您将控制器添加到实体而不是网络中

删除相关的实体和 .aj 文件、java 控制器、.aj 控制器,进入数据库并删除实体的表,然后重新创建实体和控制器

于 2011-11-09T07:25:43.050 回答
0

我犯了一个类似的错误并发现了如何解决它。

在 roo 中,我使用web mvc all com.example.project.domain了 ,然后是web mvc all,由于我的错误,roo 将我的实体的控制器放在domain文件夹中。接下来,我使用web mvc all com.example.project.web了 ,并且 roo 在该web文件夹下添加了任何后续实体控制器。不幸的是,如果我删除并重新添加了早期的实体,那么 roo 会继续将它们放回domain文件夹下。

web mvc scaffold我通过对每个有问题的实体使用命令来修复它,如下所示web mvc scaffold --class ~.domain.MyEntity --backingType ~.web.MyEntityController:之后,甚至web mvc all继续正常工作。

于 2013-10-17T20:20:47.343 回答