2014-10-06 48 views
0

我的項目使用Spring Roo創建實體,config v.v ... 6個月前。一切正常。但現在,當我使用的Spring Roo創建新的實體Spring Roo不理解項目

entity jpa --class example 

我得到

Command 'entity jpa --class example' was found but is not currently available (type 'help' then ENTER to learn about this command) 

我與其他命令嘗試錯誤

datbase property list 
enum constant --name example 

我得到類似的錯誤

當我嘗試創建示例Roo項目並測試這些命令時。他們正常工作

當我試圖創建一個空的目錄,然後運行命令(不運行項目--topLevelPackage)

entity jpa --class example 

我得到的結果

Command 'entity jpa --class example' was found but is not currently available (type 'help' then ENTER to learn about this command) 

的Roo的版本是

1.2.5.RELEASE [rev 8341dc2] 

log.roo文件的內容是

// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log opened at 2014-04-25 11:01:12 
hint 
exit 
// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log closed at 2014-04-25 11:03:28 
// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log opened at 2014-04-25 11:03:35 
exit 
// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log closed at 2014-04-25 11:04:11 
// Spring Roo 1.2.5.RELEASE [rev 8341dc2] log opened at 2014-10-06 09:22:27 
version 

我不確定,但我認爲這個問題,因爲我改變了pom.xml文件 如何解決這個問題? 感謝您的幫助。

+1

請注意,如果Roo示例正常工作,那麼問題出現在您的項目中......在這種情況下,您提供的信息不足以推斷髮生了什麼。 – eruiz 2014-10-06 05:34:51

+0

謝謝@eruiz。我在pom.xml文件中添加了一些缺失標記並修復了錯誤 – 2014-10-06 09:12:00

回答

2

Roo非常自信,而且與Spring Boot等項目不同,如果您不同意這一點,您將不高興。更改任何數量的配置設置(例如persistence.xml(或者特別是不使用一個)或完全有效的POM更改的位置)將以非顯而易見的方式打破Roo。

你做了一些改變,使Roo沒有意識到你的項目是一個JPA項目。比較一個乾淨的Roo項目,看看有什麼不同。

我個人拋棄了Roo,並轉而使用Groovy來處理Roo所做的幾乎所有事情,通常在實體類上使用@CompileStatic

+0

謝謝@chrylis,我在pom.xml文件中添加了一些缺失的標記,現在roo可以正常工作 – 2014-10-06 09:10:46

+0

感謝您澄清Tung。 – eruiz 2014-10-06 11:29:15

+0

@chrylis Boot and Roo需要元信息才能正常工作......如果您使用不受支持的註釋,那麼您無法期望Boot作品,因爲如果您使用不受支持的註釋,則無法期望Roo能夠正常工作。 此外,Roo使用XML配置作爲元信息,因此在XML metainf文件中不支持的信息導致Roo無法按預期工作。在這種情況下,Boot與Roo不同,因爲它不使用XML文件作爲metainf。 – eruiz 2014-10-06 11:36:08