当前位置: 首页 > 知识库问答 >
问题:

为什么spring cloud config没有扩展Spring Boot执行器的属性?

田柏
2023-03-14

我已经设置了spring-boot-执行器和spring-Cloud-config。我设置了类似于以下内容的各种属性:

info.app.name=@project.name@
info.app.version=@project.version@

如果我把这些属性放到应用程序中。属性,然后我得到:

{
  "app" : {
    "name" : "project-name",
    "version" : "1.2.3",
<more is ommitted>

但如果我把它放在spring cloud配置中,我会得到以下结果:

{
  "app" : {
    "name" : "@project.name@",
    "version" : "@project.version@",
<more is ommitted>

我不明白为什么会这样,因为我期望配置为它服务,执行器为它扩展。这是一个错误吗?

谢谢

共有1个答案

花阳辉
2023-03-14

项目的分辨率。名称@和项目。版本@应用程序中。属性在生成时执行,而不是在运行时执行。因此,当应用程序运行时,应用程序。jar文件中的属性包含:

info.app.name=project-name
info.app.version=1.2.3

Spring Boot或Spring Cloud Config中没有任何内容可以在运行时解析@project.name@之类的占位符,因此当从Config Server中提取这些属性时,您将获得这些属性的文字值。

 类似资料:
  • 我使用surefire和failsafe分别执行单元测试和集成测试。所有测试都位于文件夹中。到目前为止,我有一个集成测试类,其测试方法(用@test注释)在所有单元测试运行时从不执行。这是我的pom的摘录。xml: 我使用maven目标来运行测试。

  • 我正在尝试将一个梅文Spring靴(2.3.12)应用程序从JUnit4转换为JUnit5。我已经阅读了很多关于如何做到这一点的不同帖子。 我能够在Eclipse中执行我的JUnit5测试。 我的问题是我无法让Maven Surefire执行我的JUnit5测试。我尝试了各种配置变体。当它到达Surefire步骤时,它只执行我以前的JUnit4测试,并且简单地忽略任何JUnit5测试。我已经验证了

  • 我试图将Spark应用程序部署到4节点DSE Spark集群中,我已经创建了一个包含所有依赖jar的fat jar,并在src/main/resources下创建了一个属性文件,该文件具有批处理间隔、主URL等属性。 我使用的是DSE 4.8.5和Spark 1.4.2 这就是我加载属性的方式

  • 我是一个JPA新手,正在尝试理解@Jointable annotation用于双向、单管关系、B/W项目和任务实体,其中项目可以有多个任务。 我可以将@Jointable与具有@ManyToOne注释的实体一起使用,但当我将@JoinColumn放置在具有@OneToMany的另一个实体上时,我没有在@ManyToOne注释上指定“MappedBy”属性的选项。 我想知道为什么? 我尝试在这两个实

  • 我知道一些关于AbstractQueuedSynchronizer的详细信息。它是一个用于创建依赖于状态的类或同步器的框架。但我不理解在ThreadPoolExecutor的Worker中扩展这个类的意义。 由Worker类的签名可以推断出以下内容: > 提交新的可运行/可调用任务时,将创建一个新的工作对象。 Worker的新对象可以被视为新线程。 方法将添加新的worker(或只是一个任务)并在