У меня просто была похожая проблема.Мое решение не элегантно, и я не горжусь им, но допустим, что оно приемлемо.В моем случае у меня есть приложение MVC с пружинной загрузкой и приложение Swagger (для тестировщиков, чтобы проверить наш API).Дело в том, что мы используем это приложение в двух средах, поэтому я создал два профиля - dev и test.В dev env мы хотели бы запускать приложение из eclipse просто с помощью «run as», чтобы путь к контексту был пустым (я знаю, что его можно установить в весеннем java-конфигурации, но это не единственная метка-заполнитель, которую мы хотели бы переключить), и вtest env приложение запускается в нашей настроенной версии tomcat ... поэтому путь к контексту совпадает с именем файла war.
, и вот в чем проблема - swagger вызывает остальные документы по этому пути контекста, и этозависит от весеннего профиля.Итак, у нас есть веб-ресурс, который необходимо отфильтровать.Сначала я попытался использовать фильтрацию m2e-wtp:
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>**/scripts.js</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
...
она работала, но запускалась только во встроенном в eclipse tomcat или из командной строки java -jar, она не работала с "run as" из eclipse.
Ресурс был отфильтрован, и я увидел их на веб-ресурсе в target, но затмение, похоже, работает непосредственно с исходным кодом или делает копию, которую я не знаю ... он не может видеть отфильтрованные ресурсы ..поэтому я подумал, что сделаю что-то вроде этого:
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<filtering>true</filtering>
<directory>src/main/resources/webapp/swagger</directory>
<targetPath>${basedir}/src/main/webapp/swagger</targetPath>
<includes>
<include>scripts.js</include>
</includes>
</resource>
</resources>
Это не самое удачное решение, потому что оно модифицирует код, а не цель, но, по крайней мере, работает.Если бы у кого-то были какие-либо предложения, как заставить это работать без модификаций кода, я был бы благодарен.