我是靠谱客的博主 等待猎豹,最近开发中收集的这篇文章主要介绍Eureka注册服务配置info-使用$project.artifactId$无法动态显示artifactId,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

记一次纠错过程

一开始,我是把如下加在父工程的pom.xml中

<build>
   <resources>
          <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
   </resources>
   <pluginManagement>
       <plugins>
           <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                          <delimiters>
                              <delimit>$</delimit>
                          </delimiters>
                    </configuration>
            </plugin>
       </plugins>
    </pluginManagement> 
</build>  

然后在服务模块的application.yml中配置info信息:

info:
  app.name: xns-servicecloud
  company.name: www.xns.com
  build.artifactId:  $project.artifactId$
  build.version: $project.version$

跟着教程走的,人家确实出来了,我的确是这样:
在这里插入图片描述

然后开始百度,各种方法都试了,都不行,直到看到这一篇spring cloud yml配置 p r o j e c t . v e r s i o n project.version project.version获取不到值问题处理,他说: “application.yml,${parameter}则是读取文件内部的变量值
若想读取pom.xml文件的变量应该使用@parameter@”
,于是我就按他的方法改成了

info:
  app.name: xns-servicecloud
  company.name: www.xns.com
  build.artifactId:  "@project.artifactId@"
  build.version: "@project.version@"

注意:"@project.version@",一定要加双引号,不然会报错,加单引号,也行。
把pom.xml中的’$‘符号改成’@'符号
但是还是不能动态取值,然后经过几次尝试,最终解决办法为:
yml配置不变,为:

info:
app.name: xns-servicecloud
company.name: www.xns.com
build.artifactId:  "@project.artifactId@"
build.version: "@project.version@"

但是要把如下加在配置info的子模块的pom.xml中,这样,再运行就获取到了

 <resources>
        <resource>
              <directory>src/main/resources</directory>
              <filtering>true</filtering>
          </resource>
 </resources>

如果用 @project.version@的话,不用在pom.xml中加

                 <configuration>
                          <delimiters>
                              <delimit>@</delimit>
                          </delimiters>
                    </configuration>

因为默认的为@
在这里插入图片描述

使用$$动态取

改好之后,在百度上看到有人说要把delimit改成delimiter,尝试之后,发现只要改成这样,就可以使用"$project.artifactId $"来获取呢,设置如下:

              <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <delimiters>
                            <delimiter>$</delimiter>
                        </delimiters>
                    </configuration>
                </plugin>

但是注意下面这个要放在配置info的子模块的pom.xml中,然后之间写什么符号,就在yml中用什么符号

 <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>

yml配置info如下:

info:
  app.name: xns-servicecloud
  company.name: www.xns.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$

每个版本可能不同,如有错误,请指正

最后

以上就是等待猎豹为你收集整理的Eureka注册服务配置info-使用$project.artifactId$无法动态显示artifactId的全部内容,希望文章能够帮你解决Eureka注册服务配置info-使用$project.artifactId$无法动态显示artifactId所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部