фильтрация файлов JavaScript с помощью Maven hide files from Jetty - PullRequest
0 голосов
/ 13 декабря 2011

У меня странная проблема с Maven2.2.1 и JavaScript.Проблема возникла, когда я пытался отфильтровать один файл JavaScript по разным профилям, которые я запускаю.Мой код Maven примерно такой:

        ...
        <resource>    
            <filtering>true</filtering>
            <directory>${basedir}/src/main/resources</directory>
            <includes>
                <include>settings-file.js</include>
            </includes>
            <targetPath>
                ${build.directory}/${build.finalName}/www/wc/js
            </targetPath>
        </resource>
         ...
        <profiles>
        <profile>
        <id>final</id>
        <properties>
            ...
            <web.setting.baseUrl>http://www.base.com</web.setting.baseUrl>
            ...
        </profile>                 
        </profiles>
        ...

Я ожидаю, что файл "settings-file.js" будет отфильтрован и все изменения, например, $ {web.setting.baseUrl} будут изменены, когда яВызовите

mvn clean install -Pfinal

, но это не происходит, когда файл "settings-file.js" помещен в , поэтому я переместил его в src / main / resources, ожидая, что он переопределит существующий файл- но это все еще не случилось.Я решил это, удалив файл из исходного местоположения и поместив его в папку ресурсов и отредактировав файл maven pom.xml (как показано в листинге).

Теперь у меня появилась новая неловкая проблема.Когда я запускаю свое веб-приложение с

mvn jetty:run 

и перехожу на страницу, которая использует «settings-file.js», оно тормозит, потому что не видит этот файл.Теперь он находится там, где он должен быть и правильно отфильтрован, но по какой-то причине не виден для пристани.Другие файлы * .js есть.Я вижу их, если я набираю их URL в браузере, но только «settings-file.js» не отображается.

Как я могу решить эту проблему?

1 Ответ

1 голос
/ 14 декабря 2011

В веб-приложении maven файлы javascript обычно находятся в src/main/webapp, чтобы отфильтровать их, вам необходимо настроить webResources конфигурацию военного плагина. Целью по умолчанию является корень файла войны.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <webResources>
            <resource>
                <filtering>true</filtering>
                <directory>src/main/webapp</directory>
                <includes>
                    <include>settings-file.js</include>
                </includes>
            </resource>
        </webResources>                    
    </configuration>
</plugin>
...