我创建了一个名为Card
的实体及其CardController
。由于我在创建错误时提交了错误,因此我删除了它们并再次创建了卡实体。
当我执行以下命令以使Controller返回新的Card字段时,会出现问题:
web mvc all
Roo输出是:
Found existing controller for mapping '/cards'.
Created SRC_MAIN_JAVA\com\entities\CardController.java
当执行/cards
路径时,我一直看到OLD字段。
此外,如果我再次删除控制器(我已经在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
的控制器以及为什么,如果找到它,它会在错误的旧包中再次创建它?
答案 0 :(得分:0)
从我可以看到你将控制器添加到实体而不是web
删除相关的实体和.aj文件,java控制器,.aj控制器,进入数据库并删除实体的表,然后重新创建实体和控制器
答案 1 :(得分:0)
我犯了类似的错误并发现了如何修复它。
在roo中,我使用web mvc all com.example.project.domain
,后跟web mvc all
,由于我的错误,roo将我的实体的控制器放在domain
文件夹中。接下来,我使用web mvc all com.example.project.web
,并在web
文件夹下添加了任何后续实体控制器。不幸的是,如果我删除并重新添加早期实体,那么roo继续将它们放回domain
文件夹下。
我通过对每个有问题的实体使用web mvc scaffold
命令修复它,如下所示:web mvc scaffold --class ~.domain.MyEntity --backingType ~.web.MyEntityController
。在此之后,即使web mvc all
继续正常工作。