自從開發Web應用程序以來,我使用STS和Java。該項目配置爲使用Maven,Roo和MySQL作爲數據庫。我經常發現我浪費了很多時間在下列情況下:STS Spring與Roo和Maven - 太慢了?
沒有袋鼠響應 - 當我修改域對象的Java類即使Roo shell中的項目已打開並加載它會無反應。我目前對這個問題的攻擊是使用roo爲其生成一個新的發現者(它以某種方式喚醒了Roo)。有沒有更好的黑客?
長時間編譯 - 我已經自動設置生成作爲項目選項。也許我不應該使用它。但底線是,有時我需要在域對象中做一些小改動,然後運行項目,因此我需要重新構建項目並對其進行測試(即使對於小的更改)。是否有任何屬性可以配置爲僅重新編譯項目的某些部分?
Maven和雙龍 - 我經常發現的問題與Maven因爲每當我在
pom.xml
文件修改的依賴,並將其保存,而忘記是公司內部網絡的.m2
庫就不能正確地更新。在這些情況下,我應該在保存pom.xml
之前切換到非內部網絡。 討厭的位是,一旦我改變網絡首選項,並運行「更新所有maven依賴」命令,它不會正確執行。原因是生成了新庫的pom文件,但是卻有一條錯誤消息作爲內容。這個問題似乎是Maven生成這些文件,但然後不夠聰明,以識別它們,並嘗試再次從網絡存儲庫中獲取庫。要解決這個問題,我需要刪除文件夾的內容並再次運行該命令。 有沒有人找到了更好的解決方案?
Roo真的值得嗎?如果是的話?
我發現Roo非常適合上手並創建初始數據庫和項目配置(例如安全性)。但是之後?到目前爲止,我一直在使用Roo來生成發現者,但我經常發現Roo需要花費大約10/15分鐘來更新新的發現者(我們的項目相當大)。我正考慮開始在大多數時間關閉Roo shell,並手動將搜索器添加到.aj
文件中,並自己註釋.java
文件。這之後會與Roo發生衝突(例如,當我因爲其他原因打開Roo shell時)?
Java和STS
爲什麼這個項目需要很長時間來編譯?我的意思是,我想象STS正在檢查每個類中是否存在對最近修改過的文件的依賴,以及是否有更新代碼並重新生成jar文件。它是否正確?如果我使用PHP或Python怎麼辦?同樣的事情會發生還是會更快?我知道有幾個關於這個問題的討論,但是當我列出我遇到的問題時,我想我也會提到這一點。是使用哪種語言和什麼語言的永恆問題。在我們的例子中,我們有一個關係數據庫,大量的數據,安全約束,並且需要做精確的計算(需要嚴格的數據類型)。
謝謝你的建議,看來我的袋鼠是給我玩壞招數。每當我修改一個域對象,手動添加一個finder註釋,Roo就不會撿起它(即使shell已經打開)。我通過在添加註釋之前和添加註釋之前輸入「提示」來驗證這一點。第二次「提示」信息只會在30分鐘後出現,並且不會有任何與新發現者有關的消息(我保存了所有信息並進行了編譯)。 – mm24