Java 要运行undertow中编程配置的http端口的随机端口,占位符值应该是多少

Java 要运行undertow中编程配置的http端口的随机端口,占位符值应该是多少,java,spring-boot-test,Java,Spring Boot Test,要运行随机端口(用于以编程方式配置的http端口),PlaceHolder值应该是多少 @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT,properties = "server.http.port=0") public class Test1 { @LocalServerPort private int port; @Value("$

要运行随机端口(用于以编程方式配置的http端口),PlaceHolder值应该是多少

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT,properties = "server.http.port=0")
public class Test1 {

     @LocalServerPort
     private int port;

     @Value("${?}")
     private int httpPort;

    @Test
    public void test()
    {
        System.out.println(port+"  "+httpPort);
        assertNotNull(new Object());
    }
}

这回答了你的问题吗?看到这个答案吗?我的应用程序在两个http端口上运行,因为我在web服务器配置中添加了额外的http侦听器。我可以使用@LocalServerPort注释获得一个随机端口,但我需要第二个随机端口值。我尝试了@Value(${local.server.http.port}),但没有发现是由以下原因引起的:java.lang.IllegalArgumentException:无法解析值“${local.server.http.port}”中的占位符“local.server.http.port”,因为我在@SpringBootTest属性中显式地使server.http.port=0,以使第二个端口随机。但无法获取正在运行的随机端口值。那么下面注释中“?”的值应该是什么:@value(${?}”)private int-httpPort;