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

Spring Boot-不重写服务器端口属性

归鹤龄
2023-03-14

我有一个Spring Boot项目,其中服务器端口总是设置为8080,而不考虑server.port属性。将正确重写除server.port之外的所有属性。属性配置bean:

@Bean
public PropertySourcesPlaceholderConfigurer properties() {
    final PropertySourcesPlaceholderConfigurer poc = new PropertySourcesPlaceholderConfigurer();
    poc.setIgnoreResourceNotFound(true);
    poc.setIgnoreUnresolvablePlaceholders(true);

    final List<Resource> list = new ArrayList<Resource>();

    // default (dev) properties
    list.add(new ClassPathResource(PROPERTIES_FILE));

    // override with -Dproperties.location=C:/path/to/properties/ where overriding application.properties resides
    list.add(new FileSystemResource(System.getProperty(EXTERNAL_ARGUMENT_NAME)+PROPERTIES_FILE));

    poc.setLocations(list.toArray(new Resource[]{}));

    return poc;
}

这意味着我的类路径application.properties是默认值(dev properties),它被jvm参数dproperties.location=C:\application\config覆盖。

Server.Port属性未在我的类路径属性文件中定义,因此在开发环境中默认为8080。这很好,但对于测试,我想指定端口。我的外部属性文件包含此属性:

server.port=10070

日志:

[2016-01-19 11:14:10:010 CET]  INFO [restartedMain] support.PropertySourcesPlaceholderConfigurer: Loading properties file from class path resource [application.properties]
[2016-01-19 11:14:10:010 CET]  INFO [restartedMain] support.PropertySourcesPlaceholderConfigurer: Loading properties file from file [C:\var\opt\application\config\application.properties]
[2016-01-19 11:14:11:011 CET]  INFO [restartedMain] support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker: Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$418ca8e8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
[2016-01-19 11:14:11:011 CET]  INFO [restartedMain] tomcat.TomcatEmbeddedServletContainer: Tomcat initialized with port(s): 8080 (http)
[2016-01-19 11:14:11:011 CET]  INFO [restartedMain] core.StandardService: Starting service Tomcat

共有1个答案

龙景澄
2023-03-14

如果您在项目中使用spring执行器,默认情况下它指向8080,如果您想更改它,那么在application.properties中提到management.port=9001

 类似资料:
  • 我目前正在处理一个Springboot应用程序,我需要访问当前的服务器端口。端口是随机分配的,因为我已经定义了在我的。 我已经看到多个关于这一点的帖子,它们都指向添加: 但是,启动应用程序时提示我使用 澄清一下,我不是在设置测试。我使用的是Springboot 1.5。7.我遗漏了什么吗?我尝试运行以下简单示例:

  • 我目前正在处理一个Springboot应用程序,我需要访问当前的服务器端口。端口是随机分配的,因为我在中定义了。 我看到了很多关于这一点的文章,它们都指出: 但是,启动应用程序时使用中的占位符“local.server.port 澄清一下,我不是在设置测试。我使用的是Springboot1.5.7。我是不是漏掉了什么?我正在尝试运行以下简单示例:

  • 创建一个 HTTP 服务器 最简单的方法来创建一个 HTTP 服务器,所有选项使用默认的。如下所示: HttpServer server = vertx.createHttpServer(); 配置 HTTP 服务器 如果你不想使用默认值,创建服务器时可以通过传入一个HttpServerOptions实例配置: HttpServerOptions options = new HttpServerO

  • 创建 TCP 服务器 使用最简单的方法来创建一个 TCP 服务器,使用所有默认选项如下所示: NetServer server = vertx.createNetServer(); 配置 TCP 服务器 如果你不想默认值,可以将服务器配置通过传入一个NetServerOptions实例来创建它: NetServerOptions options = new NetServerOptions().s

  • 问题内容: 我要对服务器进行编程,但是想知道我的想法是否可能。我的程序将在多个端口上输出到多个客户端-每个端口都可以由多个客户端访问。 通常,我会使用线程套接字服务器,但是在这种情况下,我需要它可用于多个端口。我想到的用法是下面一个模糊的伪代码: 启动服务器 侦听多个端口上的传入连接 识别正在连接的端口 如果是端口1,请启动一个线程以侦听客户端并输出消息类型 如果是端口2,请启动一个线程以侦听客户

  • 在我的spring Boot2.0应用程序中,我的主应用程序监听端口1234,我想让管理服务器运行在1235上。 我的服务器无法启动,出现以下错误: 如果我移除这个: 谢谢!