SpringBoot 如何读取pom.xml中的值

网友投稿 629 2022-09-03


SpringBoot 如何读取pom.xml中的值

目录如何读取pom.xml中的值xxx.properties读取pom.xml读取xxx.properties文件SpringBoot读取pom配置报错报错原因解决方法

如何读取pom.xml中的值

首先,java代码中是无法直接读取pom.xml中的内容的,需要先把值转到xxx.properties中,再通过程序读取xxx.properties中对应的值。

xxx.properties读取pom.xml

1.xxx.properties中

以pom.xml中的version标签为例。@xx@代表读取pom.xml中的值

这里为什么是用@呢:

由于${}方式会ETyTx被maven处理。如果你pom继承了spring-boot-starter-parent,Spring Boot已经将maven-resources-plugins默认的${}方式改为了@@方式,如@name@

2.pom.xml中

在rescource加入

src/main/resources

**.*

**/**.*

比如证书文件,不做任何处理的话会抛出异常加入这个标签会后,*.xml、*.properties正常,其他文件的内容可能会发生改变。

DerInputStream.getLength(): lengthTag=111, too big

解决方案是把把不需要过滤的文件单独列出来,从maven-resources-plugin插件中排除

org.apache.maven.plugins

maven-resources-plugin

UTF-8

pem pfx p12 svg ttf woff css js html ico

读取xxx.properties文件

这个就比较常规了

4.0.0

com.didispace

Chapter4-2-2ETyTx

1.0.0

jar

@Value("${project.version}")

private String version;

SpringBoot读取pom配置报错

创建父子maven工程时,maven配置文件pom.xml报错;

我的父工程存在多种环境配置,使用${xxx}占位符方式进行引入配置文件版本管理;创建maven子工程时报错,如图报错提示:

报错原因

由于方式会被maven处理。如果你pom继承了spring−boot−starter−parent,SpringBoot已经将maven−resources−plugins默认的‘{}方式会被maven处理。如果你pom继承了spring-boot-starter-parent, Spring Boot已经将maven-resources-plugins默认的`方式会被maven处理。如果你pom继承了spring−boot−starter−parent,SpringBoot已经将maven−resources−plugins默认的‘{xxx}`方式改为了@@方式,如@name@,所以会出现上述报错情况;

解决方法

如果还想继续使用${xxx}占位符方式,只需要在父工程pom.xml文件中加上下面配置即可:

maven-resources-plugin

utf-8

true

如图所示:

更新maven工程,报错问题解决


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:协程的嵌套(协程使用场景)
下一篇:用twisted 发送请求
相关文章

 发表评论

暂时没有评论,来抢沙发吧~