繁体   English   中英

无法解析值“${server.port}”中的占位符“server.port”

[英]Could not resolve placeholder 'server.port' in value "${server.port}"

将 jHipster 项目从版本 4.14.5 升级到版本 5.8.1 后,当我尝试运行应用程序时出现此错误:

上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建文件 [\config\LoggingConfiguration.class] 中定义的名称为“loggingConfiguration”的 bean 时出错:

bean 创建过程中出现意外异常; 嵌套异常是 java.lang.IllegalArgumentException:无法解析值“${server.port}”中的占位符“server.port”

您知道问题的原因是什么吗?

Spring 在各个位置查找@Value注释内指定的占位符。 由于您可能正在运行 Spring Boot 应用程序,因此您可能需要查看文档以了解外部配置。

我敢打赌,您确实将其指定为命令行参数,或在application.properties资源文件中。

顺便说一句, . (点)不是问题。

我有同样的问题,我只是通过将server.port属性添加到application.properties来解决这个问题

乘法控制器.java

@Slf4j
@RestController
@RequestMapping("/multiplications")
@CrossOrigin(origins = "http://localhost:9090")
final class MultiplicationController {

    private final MultiplicationService multiplicationService;

    private final int serverPort;

    @Autowired
    public MultiplicationController(final MultiplicationService multiplicationService,
            @Value("${server.port}") int serverPort) {
        this.multiplicationService = multiplicationService;
        this.serverPort = serverPort;
    }

    @GetMapping("/random")
    public Multiplication getRandomMultiplication() {
        log.info("Generating a random multiplication from server @ {}", serverPort);
        return multiplicationService.createRandomMultiplication();
    }
}

应用程序属性

server.port=8080

我只是有同样的问题。 当我用“_”替换“。”时它实际上起作用了所以我的方法:

@Value("${server_port")
Integer port;

和我的 properties.yml

server:
  port: 1234
server_port: 1234

当然,冗余并不理想,但@Value 似乎无法处理“.”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM