2017-07-30 108 views
1

经过痛苦的安装春天roo。我正在尝试创建一个项目。 但是,通过弹簧外壳制作pojo后,我现在创建了弹簧库。 我跑以下命令创建的POJO无法在春天roo创建存储库

entity jpa --class ~.DTO.UserDTO 
field string --fieldName name --notNull --sizeMin 50 

到目前为止好,但这里的地方麻烦来:

repository jpa --entity ~.DTO.UserDTO --interface ~.repository.UserDTORepository 

,我马上就得到这个消息 --entity选项应该是一个实体。 我被卡住了。 我试图删除POJO跑tyhe以下命令:

entity jpa --class ~.DTO.UserDTO --testAutomatically --activeRecord false 

消息,我得到的是: "Options 'testAutomatically', 'activeRecord' are not available for this command. Use tab assist or the "help" command to see the legal options “ ,我试图 "repository jpa --entity ~.dto.UserRecord --interface ~.repository.UserRepository” 知趣

--entity option should be an entity. 
This is where i gave up 

我的环境是用java 1.8,spring roo 2.0.0.RC1 STS 3.9.0.Release。

回答

2

我已经检查您的问题,如果你在Spring Roo shell中写repository jpa --entity之后,你按下自动完成键(TABCTRL + Space),你会看到下面的结果显示:~.dto.UserDTO

所以使用

repository jpa --entity ~.dto.UserDTO --interface ~.repository.UserDTORepository

,而不是

repository jpa --entity ~.DTO.UserDTO --interface ~.repository.UserDTORepository

看得出来,不同的是在~.DTO包的大写字母。当您输入实体的名称时,您使用~.DTO作为包的名称,但Spring Roo全部更改为小写。原因在于,您可以检查Oracle Documentation中的软件包名称全部写成小写,以避免与类或接口的名称冲突。

请记住,使用TABCTRL + Space构建您将执行的命令来防止这类错误非常重要。

希望它有帮助,