我使用Ant構建了一個自定義的Maven2插件。我想在自定義Ant插件成功完成後立即調用另一個Maven插件,特別是貨物Maven2插件。但是,我不想將貨運插件附加到另一個目標或階段。有沒有辦法讓他們連續運行而不必編寫批處理腳本?是否有將Custom Ant插件調用到Cargo插件?Maven2生命週期幫助
3
A
回答
2
看到這個討論:Re: calling plugin in another plugin?根據Maven的開發者,這不是插件應該工作的方式。
然而,這個有趣的評論:
插件/ Mojos應該在圖書館瘦包裝。你想直接使用庫。
Cargo不僅是一個Maven插件,它還有一個Java API和一個Ant task。所以你可能會:
從你的Ant mojo調用Cargo Ant任務
在Java中重寫您的Ant mojo並調用Cargo API(您想查看Cargo插件的來源)。
0
maven-ant-plugin執行的Ant腳本並不真正瞭解Maven,此插件旨在與自定義Ant任務向後兼容。我想不出一種乾淨的方式來做你想做的事情,儘管可能會有某種黑客讓你去做。
也應該可以從Ant內部執行第二個Maven實例,該實例完全運行Cargo目標,但在這種情況下,您可能會遇到鎖定文件等問題。要做到這一點,只需在Ant腳本中使用一個標籤,並以適當的目標作爲參數調用「mvn」可執行文件即可。
最簡潔的方法是將貨物目標簡單地綁定到構建階段,並在Ant完成後運行。我不認爲這種方法有任何缺點 - 你沒有真正說明你爲什麼要避免它的具體原因。
0
你也許以下Maven感興趣的兩個
的GMaven插件可以讓你寫使用Groovy Maven插件。這使您可以使用Ant Builder完全訪問ant,這是在Groovy中編寫ant腳本的一種非常簡單的方法。 然後在這個Groovy mojo中,你可以使用Mojo Executor調用任何maven mojo。
我已經在幾個自定義maven插件中使用了這些,我還沒有找到一個更簡單的方法來編寫和組合mojos。
相關問題
- 1. servlet生命週期
- 2. viewController生命週期
- 3. MarshalByRefObject生命週期
- 4. BroadcastReceiver生命週期
- 5. JSF2.0生命週期
- 6. JVM生命週期?
- 7. System.Timers.Timer生命週期
- 8. X509Certificates生命週期
- 9. PreferenceActivity生命週期
- 10. ScheduledExecutorService生命週期?
- 11. UIControl生命週期
- 12. Eclipse生命週期
- 13. ASP.NET應用程序生命週期 - 非頁面生命週期
- 14. Android項目生命週期 - 活動生命週期之前(Activity.onCreate())
- 15. 需要頁面生命週期的幫助(我認爲這讓我興奮)
- 16. 幫助我理解這條評論回覆頁面生命週期
- 17. 需要幫助瞭解單身人士和對象生命週期
- 18. 春@Controller生命週期
- 19. 生命週期[NSMutableDictionary dictionaryWithCapacity:n]
- 20. Silverlight控件生命週期
- 21. Android活動生命週期
- 22. MXML組件生命週期
- 23. UWP頁面生命週期
- 24. Android和生命週期
- 25. 意圖的生命週期?
- 26. 生命週期使用SimpleCursorAdapter.setViewImage
- 27. App Engine servlet生命週期
- 28. Android FragmentManager生命週期
- 29. CursorAdapter的ViewBinder生命週期?
- 30. 資源生命週期