我创建了一个名为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
的控制器,如果它已经找到了它,为什么它在错误的旧软件包中再次创建它?
发布于 2011-11-09 07:25:43
据我所知,您正在将控制器添加到实体中,而不是web中
删除实体和相关的.aj文件、java控制器、.aj控制器,进入数据库并删除实体的表,然后重新创建实体和控制器
发布于 2013-10-17 20:20:47
我犯了一个类似的错误,并发现了如何修复它。
在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
也继续正常工作。
https://stackoverflow.com/questions/7999230
复制相似问题