фильтрация свойств переменных maven - PullRequest
6 голосов
/ 05 декабря 2011

Я пытаюсь получить некоторое значение переменной свойства и использовать профиль Maven, чтобы получить правильный вывод. Я сделал это для моего hibernate xml, log4j.properties и не имел проблемы.

Так что это сработало для меня в проекте # 1, где у меня есть куча файлов в / src / main / resources. И я настроил свойства и фильтрацию ресурсов в Maven следующим образом:

<properties>
    <log.level>DEBUG</log.level>
</properties>


<profiles>
    <profile>
        <id>production</id>
        <properties>
    <log.level>INFO</log.level>
        </properties>
    </profile>
</profiles>

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

Выше работало без проблем. Тем не менее, в моем проекте № 2 - у меня есть некоторые файлы, которые имеют переменные свойства, но они находятся в / src / main / webapp / WEB-INF - я делаю то же самое, что и выше, за исключением каталога, указывающего на WEB-INF и это не работает. Я попытался на проекте № 2, чтобы файл находился в / src / main / resources, и это сработало.

Так что, мне кажется, проблема с фильтрацией ресурсов возникает, когда файл находится в / src / main / webapp / WEB-INF, но мне нужно, чтобы файл был там, чтобы он отправлялся в папку WEB-INF при генерации войны.

У кого-нибудь есть указатель, как это сделать?

Вот следующий фрагмент из pom.xml, который не работает (фильтрация ресурсов полностью игнорируется)

<properties>
        <wsdl.url>http://stage/wsdl-url</wsdl.url>
</properties>

<profiles>
    <profile>
        <id>production</id>
        <properties>
    <wsdl.url>http://prod/wsdl-url</wsdl.url>
        </properties>
    </profile>
</profiles>

<build>
    <resources>
        <resource>
            <directory>src/main/webapp/WEB-INF</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

1 Ответ

5 голосов
/ 05 декабря 2011

У меня тоже была эта проблема;Я подозреваю, что основной раздел <resources> POM игнорируется подключаемым модулем war, поэтому я пришел к настройке подключаемого модуля напрямую:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <filters>
            <filter>filter.properties</filter>
        </filters>
        <webResources>
            <resource>
                <directory>WebContent/WEB-INF</directory>
                <filtering>true</filtering>
                <targetPath>WEB-INF</targetPath>
            </resource>
        </webResources>
    </configuration>
</plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...