maven условие, основанное на семье os - PullRequest
5 голосов
/ 22 января 2012

Я пытаюсь сделать следующее:

                <execution>
                    <id>copy-jre</id>
                    <phase>package</phase>
                    <goals>
                        <goal>unpack</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>com.sun</groupId>
                                <artifactId>jre</artifactId>
                                <version>${jdk.version}-${os.family}-x64</version>
                                <type>zip</type>
                            </artifactItem>                             
                        </artifactItems>
                        <outputDirectory>${target-deployer.cnc.dir}/java/${os.family}/x86_64/</outputDirectory>
                    </configuration>
                </execution>

Я хочу скопировать зависимости, основанные на OS - Windows или Linux в моем случае. Но я не могу найти правильный параметр

Ответы [ 2 ]

16 голосов
/ 23 января 2012

Вы можете использовать профили , чтобы сделать это.

, например

<profile>
    <id>platform-windows</id>
    <activation>
        <os>
            <family>windows</family>
        </os>
    </activation>
    <build>
        <plugins>
            ...
        </plugins>
    </build>
</profile>

В вашем случае вы можете просто указать os / family в элементе активации профиля.

3 голосов
/ 23 января 2012

Книга Sonatype, "Maven: полный справочник" раздел 9.2 посвящен свойствам maven и перечисляет следующие свойства, которые относятся к вашему вопросу:

java.version
os.name

Свойство java.version кажется пригодным для использования, и в моем тестировании было возвращено значение "1.6.0_27". Однако, как вы и просили, свойство os.name не совсем "семейство os". В моем случае os.name возвращает «Windows Vista», что, я думаю, не то, на что вы надеетесь. Я не знаю свойства для получения семейства ОС по вашему желанию, поэтому я рекомендую использовать профили maven в качестве предварительного упоминания для настройки ваших плагинов с нужным ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...