gpt4 book ai didi

maven - 我可以在 Maven 中推迟执行插件后的资源过滤吗?

转载 作者:行者123 更新时间:2023-12-01 10:21:33 24 4
gpt4 key购买 nike

我正在使用 wro4j 进行 jscss 聚合。因此,我使用我的 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>

最佳答案

您可以尝试设置 <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

关于maven - 我可以在 Maven 中推迟执行插件后的资源过滤吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17115563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com