JHipster项目banner.txt中${app-version}未替换为实际版本值求助
以下是针对banner.txt中${app-version}未替换为实际版本值的解决思路:
检查Maven资源过滤配置
确保Maven的资源插件已配置对banner.txt进行变量替换。在pom.xml的<build>节点下添加或修改资源配置:<resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>banner.txt</include> <!-- 可添加其他需要过滤的资源文件 --> </includes> </resource> </resources>没有这个配置的话,Maven不会自动替换banner.txt中的变量占位符。
修正占位符格式
Maven资源过滤默认使用@变量名@作为占位符格式,而非${变量名}。如果banner.txt里写的是${app-version},请改为@app-version@;若想保留${}格式,需在maven-resources-plugin中配置分隔符:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.3.1</version> <configuration> <delimiters> <delimiter>${*}</delimiter> <delimiter>@*</delimiter> </delimiters> </configuration> </plugin>验证打包后的文件
查看target/classes/banner.txt文件内容:- 如果文件中仍显示
${app-version},说明Maven未执行过滤,回到第一步检查资源配置; - 如果文件已显示正确版本
0.0.1-SNAPSHOT,则可能是开发环境加载问题,执行./mvnw clean compile后再启动应用。
- 如果文件中仍显示
开发环境启动配置
若用IDE直接启动,需确保IDE委托Maven处理构建:- 以IntelliJ IDEA为例:进入
Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Runner,勾选Delegate IDE build/run actions to Maven; - 或者直接用命令
./mvnw spring-boot:run启动,确保Maven处理完资源后再启动应用。
- 以IntelliJ IDEA为例:进入
内容的提问来源于stack exchange,提问作者Sayddus24
相关产品推荐
相关产品推荐

