使用Maven時出現 Unable to find the mojo 'generate-sources' (or one of its required components) in the plugin 'com.jayway.maven.plugins.android.generation2:android-maven-plugin' 問題
最近在使用Maven來build Spring Android的Sample Project時,在mvn clean install的階段時,會出現Unable to find the mojo 'generate-sources' (or one of its required components) in the plugin 'com.jayway.maven.plugins.android.generation2:android-maven-plugin'這樣的問題。
第一個問題是,Spring Android的Sample Project需要使用Maven3.0.3以上,請參考issue220。
接著,當你在使用maven 3去install時,如果出現java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher的錯誤,請先檢查原本的作業系統中,是否有安裝maven2,如果有,要去環境變數中,把相關的path給拿掉,如果有設定M2_HOME,也要一併移除。
Youtube影片連續撥放服務
大家有興趣可以到以下這三個服務去試試看,還蠻簡單方便使用的:
【相關閱讀】
好站 - 搜尋 YouTube MV 並自動播放
UML類別圖中的聚合(aggregation)與組合(composition)關係
Aggregation和Composition都是表達一個物件包含另外一個物件的關係(has-a)。比如說:一個公司包含一些員工、一艘船中包含幾個引擎、一個飛機場中包含數架飛機等等。
- Aggregation
Aggregation是Association的一個特例(specialization),用來表達兩個物件之【整體和部分(whole-part)】的關係。當B物件與A物件之間是Aggregation的關係時,代表A物件消失時,B物件還可以給C物件繼續使用。
舉例來說,機場與飛機之間的關係就是Aggregation。A機場裡面會有很多台飛機,當A機場不再存在時,裡面的飛機還可以屬於(停靠在)C機場,不會因為A機場消失了,本來停靠的飛機也跟著消失。
- Composition
Composition所表達的是更進一步的aggregation。除了代表兩個物件之間的whole-part關係之外,還代表這兩個物件之間是有相同的生命周期(life-cycle)。白話一點的說,若是B物件與A物件之間是composition的關係時,代表當A物件消失的時候,B物件也要跟著消失。
舉例來說,一個員工和員工薪資資料就是composition的關係,當A員工離職後,它所對應的員工薪資資料也會跟著無效。