используя переменные maven, определенные в двух отдельных профилях - PullRequest
0 голосов
/ 21 февраля 2011

У меня есть два профиля в моем pom.xml, dev и stage:

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <hostname>vl-wlp1.hk.oracle.com</hostname>
        </properties>
        <id>stage</id>
        <properties>
            <hostname>vl-wcfs.hk.oracle.com</hostname>
        </properties>
    </profile>
</profiles>

И я хотел бы использовать их в документации моего сайта по адресу:

src/site/apt/index.apt

примерно так:

Dev Site: ${dev.hostname}
Stage Site: ${stage.hostname}

Могу ли я сделать это или что-то еще, что имеет тот же эффект?

1 Ответ

2 голосов
/ 21 февраля 2011

Не без огромного взлома, нет.

Если вы хотите прочитать оба значения свойств независимо, это должны быть два разных свойства.

Как насчет прагматического решения, подобного этому:

<properties>
    <dev.host>vl-wlp1.hk.oracle.com</dev.host>
    <stage.host>vl-wcfs.hk.oracle.com</stage.host>
</properties>

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <hostname>${dev.host}</hostname>
        </properties>
        <id>stage</id>
        <properties>
            <hostname>${stage.host}</hostname>
        </properties>
    </profile>
</profiles>

ЦСИ / сайт / кв / index.apt:

Dev Site: ${dev.host}
Stage Site: ${stage.host}

(упомянутый выше огромный хак означал бы программную итерацию по профилям текущего проекта и анализ свойств каждого профиля вручную, вы могли бы сделать это в пользовательском плагине maven или в скрипте Groovy, используя GMaven )

...