Можно ли использовать условия в pom.xml - PullRequest
0 голосов
/ 29 мая 2019

У меня есть веб-проект maven, и я использую профили в pom.xml для создания файлов .war для разных сред.Посмотрите пример ниже из моего pom.xml

    ...
<profiles>
    <!-- DEVELOPMENT PROFILE -->
    <profile>
        <id>development</id>
        ...
        <build>
           ...
                <plugin> 
                    <groupId>com.google.code.echo-maven-plugin</groupId> 
                    <artifactId>echo-maven-plugin</artifactId> 
                    ...
                    <configuration>
                        <message>Message 1</message> 
                    </configuration> 
                    ...
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                    <configuration>
                        <webXml>src/main/webapp/WEB-INF/web-development.xml</webXml>
                    </configuration>
                </plugin>
                 ...
        </build>
    </profile>
    <!-- PRODUCTION PROFILE -->
    <profile>
        <id>production</id>
        ...
       <build>
           ...
                <plugin> 
                    <groupId>com.google.code.echo-maven-plugin</groupId> 
                    <artifactId>echo-maven-plugin</artifactId> 
                    ...
                    <configuration>
                        <message>Message 2</message> 
                    </configuration> 
                    ...
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                    <configuration>
                        <webXml>src/main/webapp/WEB-INF/web-production.xml</webXml>
                    </configuration>
                </plugin>
        </build>
    </profile>
</profiles>

Однако, это делает мой pom.xml довольно большим - у меня 5 разных профилей.Все, что я хотел сделать, это отобразить пользовательское сообщение и использовать пользовательский файл web.xml на основе профиля.Есть ли способ добавить условия в файл pom.xml, чтобы упростить его, как показано ниже:

...
    <profiles>
        <profile>
            <id>development</id>
            ...
        </profile>
        <profile>
            <id>production</id>
            ...
        </profile>
    <profiles>
    <build>
       ...
            <plugin> 
                <groupId>com.google.code.echo-maven-plugin</groupId> 
                <artifactId>echo-maven-plugin</artifactId> 
                <version>1.0.0</version> 
                <inherited>false</inherited> 
                <configuration>
                    <IF CONDITION TO CHECK IF development PROFILE>
                        <message>Message 1</message> 
                    </IF CONDITION>
                    <ELSE CASE>
                        <message>Message 2</message> 
                    <ELSE CASE>
                </configuration> 
                <executions> 
                    <execution> 
                        <goals> 
                            <goal>echo</goal> 
                        </goals> 
                    </execution> 
                </executions> 
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.2</version>
                <configuration>
                    <IF CONDITION TO CHECK IF development PROFILE>
                        <webXml>src/main/webapp/WEB-INF/web-development.xml</webXml>
                    </IF CONDITION>
                    <ELSE CASE>
                        <webXml>src/main/webapp/WEB-INF/web-production.xml</webXml>
                    <ELSE CASE>
                </configuration>
            </plugin>
                    ...
    </build>

1 Ответ

0 голосов
/ 29 мая 2019

Нет.

Но вы можете поэкспериментировать с определением свойств в профилях, которые могут позволить вам писать вещи более кратко.

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