痛苦安装弹簧后。我正在尝试创建一个项目。 然而,在通过spring shell创建pojo之后,我现在正在创建spring存储库。 我运行了以下命令来创建POJO
entity jpa --class ~.DTO.UserDTO
field string --fieldName name --notNull --sizeMin 50
到目前为止一直很好,但这里遇到了麻烦:
repository jpa --entity ~.DTO.UserDTO --interface ~.repository.UserDTORepository
我立即收到此消息 - 实体选项应该是一个实体。 我被困住了。 我尝试删除pojo并按照以下命令运行:
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
My Environment是java 1.8,spring roo 2.0.0.RC1 STS 3.9.0。发布。
答案 0 :(得分:2)
我一直在检查您的问题,如果您在Spring Roo shell中编写repository jpa --entity
,然后按下自动完成密钥(TAB
或CTRL + 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一样,包名称是全部小写的,以避免与类或接口的名称冲突。
请记住,使用TAB
或CTRL + Space
来构造您将执行的命令以防止此类错误非常重要。
希望它有所帮助,