2012-01-31 60 views
4

我有一個擴展,我在我的Maven 3版本中使用,爲我輸出構建信息。這有點冗長,所以我只想在一些構建配置文件中運行它。但<extensions>只允許在主要<build>而不在配置文件中。只在指定的配置文件上啓用maven3擴展

所以我的問題是兩倍。首先,是否有辦法限制擴展程序只能在特定配置文件中運行,而我可以在pom.xml中執行某些操作?其次,如果不是,那麼我應該如何實現這一點?

我最初的想法是致電mavenSession.getCurrentProject().getActiveProfiles()並將其與我想要在其上運行擴展的配置文件列表進行比較。但後來我需要以某種方式通過配置文件信息有..我想要做的是,在pom.xml,而不是通過命令行,但我不知道應該在哪裏此信息存儲。

+0

老問題,但我添加了[這裏](http://stackoverflow.com/a/36253007/5606016)通過配置文件添加/更改構建擴展的技巧,希望對未來的訪問者有價值 – 2016-03-27 21:46:54

回答

1

一兩件事,應該工作是使用含有以逗號分隔的配置文件名列表的方式來進行連接非常明顯命名的屬性(即«伸長的artifactId».RUN換配置文件)。然後通過-D傳遞,或者將其放入<屬性>部分以定義項目默認值。

+0

我跟你一起去了因爲我無法找到將參數傳遞給擴展的常用方法。 – vertti 2012-02-15 11:09:29

+0

@vertti我也遇到了同樣的問題,我不太確定我瞭解提議的解決方案。你能否添加更多細節? – forhas 2013-07-14 14:34:21

+0

@forhas我實現了這個maven插件,名爲'maven-build-utils'。您可以爲所有的細節結帳這個[提交](https://github.com/lkoskela/maven-build-utils/commit/99a99016521b4666c061d7e317d1c48174520054)。希望有所幫助。 – vertti 2013-07-14 17:25:10