在我的java webapp项目中,我将所有jsp文件放在 src/main/webapp/jsp.
如何在构建战争时启用过滤和替换属性占位符与实际值?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<filters><filter>${basedir}/src/main/resources/filter.properties</filter></filters>
<webResources>
<resource>
<directory>src/main/webapp/jsp</directory>
<targetPath>/jsp/</targetPath>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
附加mvn package命令的控制台输出:
[exec] [INFO] Copying webapp webResources [projectbasedir/src/main/webapp/jsp] to [projectbasedir/target/myapp]
[exec] [INFO] Copying webapp resources [projectbasedir/src/main/webapp]
jsp文件在"Copying webapp webResources"
步骤中被正确过滤,但"Copying webapp resources"
步骤会覆盖所有这些更改,因为它会将所有内容从src/main/webapp folder
重新复制到目标文件夹。
如何进行此过滤?
答案 0 :(得分:0)
尝试用此配置替换它,不同之处在于将directory
用作src/main/webapp
,并在includes
中包含子文件夹。
无论出于何种原因,directory
与warSourceDirectory
匹配都可以正常工作。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<filters><filter>${basedir}/src/main/resources/filter.properties</filter></filters>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<targetPath>/jsp/</targetPath>
<filtering>true</filtering>
<includes>
<include>jsp/**</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>