我正在使用 wro4j 进行 js 和 css 聚合。因此,我使用 js 文件并在maven构建时, wro4j 执行并创建我需要的唯一 js 文件。
有一个 js 文件,其中有几个变量基于 pom.xml 的配置文件(与环境相关,例如url来查找内容)。
当我构建应用程序时,我可以在 war 文件中看到 js 文件中的替换变量。 但是,当 wro4j 的插件生成聚合的 js 文件时,从 webapps / js 而不是 target 文件夹(它是正确的),因此,聚合的 js 文件具有表达式变量而不是替换的表达式。
我希望将过滤执行推迟到 wro4j 插件之后运行。有可能吗?
这些是 js 文件中的变量(名为 global.js ):
var mvnProfileEnvName = "${environment.name}";
var mvnProfileFullSearchUrl = "${full.search.url}";
我在 pom.xml
中有以下代码<profiles>
<profile>
<id>dev</id>
<properties>
<environment.name>dev</environment.name>
<full.search.url>url/for/dev</full.search.url>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<environment.name>test</environment.name>
<full.search.url>url/for/test<full.search.url>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<environment.name>prod</environment.name>
<full.search.url>url/for/prod</full.search.url>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>${basedir}/src/main/webapp/js</directory>
<filtering>true</filtering>
<includes>
<include>global.js</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/webapp/wro</directory>
<filtering>true</filtering>
</resource>
</resources>
</plugins>
<plugin>
<groupId>ro.isdc.wro4j</groupId>
<artifactId>wro4j-maven-plugin</artifactId>
<version>${wro4j.version}</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<configuration>
<minimize>true</minimize>
<jsDestinationFolder>${basedir}/src/main/webapp/wro/js/</jsDestinationFolder>
<cssDestinationFolder>${basedir}/src/main/webapp/wro/css/</cssDestinationFolder>
</configuration>
</plugin>
</plugins>
<build>
答案 0 :(得分:2)
您可以尝试设置<filtering>false</filtering>
,然后手动配置maven-resources-plugin
的执行,以便在稍后阶段进行,并启用过滤。在你的wro4j插件声明之后放置它:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>filter-resources</id>
<phase>prepare-package</phase>
<goals><goal>resources</goal></goals>
</execution>
</executions>
</plugin>
http://maven.apache.org/plugins/maven-resources-plugin/resources-mojo.html