Получить имя файла Maven Pom - PullRequest
1 голос
/ 02 июня 2010

Я использую сборку Maven (2) с: mvn -f release.xml clean deploy и хотите получить текущее имя файла pom (release.xml) в свойстве или mojo.

Возможно ли это?

1 Ответ

1 голос
/ 04 июня 2010

ну, вы можете использовать свойство

${env.MAVEN_CMD_LINE_ARGS}

в вашем pom или фильтрованном ресурсе, который расширится до

clean install -Paxis -Dmaven.test.skip -f mypom.xml -pl util

однако, если вам нужна только часть mypom.xml, вам нужно будет выполнить некоторые сценарии, которые не поддерживаются "из коробки" в maven. Обычные решения: плагин maven antrun или плагин gmaven (groovy) . Вот способ сделать это в gmaven:

<plugin>
    <groupId>org.codehaus.groovy.maven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <executions>
        <execution>
        <phase>process-classes</phase>
            <goals>
                <goal>execute</goal>
            </goals>
            <configuration>
                <source>
                System.out.println(
                        System
                        .getenv("MAVEN_CMD_LINE_ARGS")
                        .replaceFirst( /.*\-f\s+(\S+).*/ , 'POM File: $1')
                    );
                </source>
            </configuration>
        </execution>
    </executions>
</plugin>

Редактировать: как вам нужно в свойстве, либо используйте System.setProperty, либо пишите прямо в project.properties

...