2015-01-29 2 views
0

У меня есть pom.xml и настраиваемый плагин mojo, для которого требуется параметр String []. На данный момент я использую pom.xml для установки значений, но теперь хочу, чтобы он должен был взять файл свойств.Как экпортировать несколько параметров в файле свойств при использовании maven?

Я использую плагин свойств maven для чтения простых свойств, но я не могу это сделать для String [], я попробовал вставить; отдельный формат, но моя сборка не работает успешно.

мой файл pom.xml в данный момент имеет значение, установленные следующим образом (это работает)

<configuration> 
<wcsServerId>${deployWcsServerId}</wcsServerId> 
    <deployments> 
    <param>@SITE:*</param>     
    <param>AttrTypes</param> 
    <param>ContentAttribute</param> 
    </deployments> 
</configuration> 

Я попытался положить следующее подаст свойство и сумел прочитать его, используя свойства Maven плагина, но строить это не работает успешно.

моих свойств файл значение

[email protected]: ; AttrTypes:; ContentAttribute: ; ContentFilter:

Я тогда называть это следующим образом, при значениях времени выполнения становится выбрал но так или иначе сборка сбоев.

<configuration> 
<wcsServerId>${deployWcsServerId}</wcsServerId> 
    <deployments>  
    <param>${global.flags}</param> 
    </deployments> 
</configuration> 

Любое предложение или рекомендация плагина maven для использования для нескольких параметров?

+0

Если вы действительно хотите использовать файл для управления длинный список свойств (который выглядит хорошая идея), я думаю, что нет ничего встроенного в Maven POM делать такие.Я бы сделал это, указав файловый ресурс в POM (например, myParams.properties _ и проанализируйте его внутри вашего кода плагина. – Tome

+0

Спасибо Tome .... Мне удалось решить это самостоятельно ..... плагин нуждается в эти параметры должны быть переданы в определенном порядке .... –

ответ

0

мне удалось решить эту проблему сам ....

оракул csdt плагин требует параметры, передаваемые в определенном порядке.

CSDT обрабатывает элементы в том порядке, в котором они находятся.

Это означает, что он может попытаться импортировать актив до его зависимости, даже если зависимость существует позже в пакете.

Способ избежать этих проблем - убедиться, что вы импортируете активы по порядку.

Заказ такой же, как если бы вы создавали сайт, например. @SITE, @ATTRIBUTE, @PARENTDEF и т. Д.

1

Файл Maven settings.xml можно использовать для определения специального профиля с количеством свойств.

<settings> 
<profiles> 
    <profile> 
    <id>MyProperties</id> 
    <properties> 
    <mojo.plugin.p1>@SITE:*</mojo.plugin.p1> 
    <mojo.plugin.p2>AttrTypes</mojo.plugin.p2> 
    ...</properties></profile></profiles> 
</settings> 

Затем сделайте ваш pom.xml выглядит

<configuration> 
<wcsServerId>${deployWcsServerId}</wcsServerId> 
    <deployments> 
    <param>${mojo.plugin.p1}</param>     
    <param>${mojo.plugin.p2}</param> 
    <param>${...}</param> 
    </deployments> 
</configuration> 

И теперь вы можете запустить Maven таким образом

МВН -P < MyProperties, < любые другие профили > > < целевых >

Дополнительно вы можете добавить свои настройки.x мл следующий тег

<activeProfiles> 
<activeProfile>MyProperties</activeProfile></activeProfiles>