簡體   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