gpt4 book ai didi

maven - 如何用 Maven 属性替换 web.xml 中的值?

转载 作者:行者123 更新时间:2023-12-03 01:53:12 25 4
gpt4 key购买 nike

我有一个 Maven 项目,它将一些测试文件下载到其构建目录 ./target/files 。然后,这些文件应该可供 servlet 使用,我可以通过将完整路径硬编码为 <init-param> 来轻松实现这一点。 Servlet 的:

<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>my.package.TestServlet</servlet-class>
<init-param>
<param-name>filepath</param-name>
<param-value>/home/user/testproject/target/files</param-value>
</init-param>
</servlet>

如何避免对完整路径进行硬编码并使用动态参数替换?我尝试了以下方法,但没有成功:

<param-value>${project.build.directory}/files</param-value>

最佳答案

添加到您的 pom 部分:

<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>**/web.xml</include>
</includes>
</resource>
</webResources>
<warSourceDirectory>src/main/webapp</warSourceDirectory>
<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
</configuration>
</plugin>

参见Maven: Customize web.xml of web-app project了解更多详情

关于maven - 如何用 Maven 属性替换 web.xml 中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15355708/

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