如何为Spring Boot应用程序配置端口

 顺顺当当的小屋约_564 发布于 2023-02-03 12:50

如何配置Spring Boot应用程序侦听的TCP/IP端口,因此它不使用默认端口8080.

29 个回答
  • 如果您想在本地运行它,请使用此 -

    mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8085'

    Spring Boot 2.0开始,这里有一个有效的命令(线索在这里):

    mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8085
    

    2023-02-03 12:51 回答
  • 将其添加到您的application.properties文件中

    server.port= 8080
    

    2023-02-03 12:51 回答
  • application.properties文件中,添加以下行:

    server.port = 65535

    在哪里放置那个fie:

    24.3应用程序属性文件

    SpringApplication从以下位置的application.properties文件加载属性,并将它们添加到Spring环境中:

    A /config subdirectory of the current directory
    The current directory
    A classpath /config package
    The classpath root
    

    列表按优先级排序(在列表中较高位置定义的属性将覆盖在较低位置中定义的属性).

    在我的情况下,我把它放在jar文件所在的目录中.

    从:

    https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-application-property-files

    2023-02-03 12:51 回答
  • 在application.properties文件中提供端口号将解决该问题

     server.port = 8080
    

    "端口取决于您的选择,您希望托管应用程序的位置"

    2023-02-03 12:51 回答
  • 正如在所述的文档任一组server.port使用命令行选项来JVM中的系统属性-Dserver.port=8090或添加application.properties/src/main/resources/

    server.port=8090
    

    用于随机端口使用

    server.port=0
    

    2023-02-03 12:51 回答
  • 您可以通过覆盖EmbeddedServletContainerFactory配置中的bean 来指定端口(基于java或xml).在那里,您可以为使用的嵌入式servlet容器指定端口.请参阅Spring Boot - Core "嵌入式Servlet容器支持"一节和示例.希望这可以帮助.

    2023-02-03 12:51 回答
  • 你可以在java代码中设置port:

    HashMap<String, Object> props = new HashMap<>();
    props.put("server.port", 9999);
    
    new SpringApplicationBuilder()
        .sources(SampleController.class)                
        .properties(props)
        .run(args);
    

    或者在application.yml中:

    server:
        port: 9999
    

    或者在application.properties中:

    server.port=9999
    

    或者作为命令行参数:

    -Dserver.port=9999
    

    2023-02-03 12:51 回答
  • application.properties资源中存在的文件中:

    server.port=8082
    

    2023-02-03 12:51 回答
  • 根据您使用的应用程序配置文件,有三种方法可以执行此操作

    a)如果您正在使用application.properties文件集

    server.port = 8090

    b)如果您正在使用YAML格式的application.yml文件集服务器端口属性,如下所示

    server:
         port: 8090
    

    c)您还可以在main方法中将属性设置为System属性

    System.setProperty("server.port","8090");
    

    2023-02-03 12:52 回答
  • 在Spring Boot应用程序中,有两种主要方法可以更改嵌入式Tomcat中的端口.

    修改application.properties

    首先,您可以尝试/ resources文件夹中的application.properties文件:

    server.port = 8090
    

    application.properties文件

    修改VM选项

    第二种方法,如果你想避免修改任何文件并检查你在本地只需要的东西,你可以使用vm arg:

    转到运行 - >编辑配置 - > VM选项

    -Dserver.port=8090
    

    使用vm arg更改端口

    此外,如果您需要更多信息,可以在此处查看以下博客文章: 更改Spring Boot应用程序上的端口

    2023-02-03 12:52 回答
  • 如Spring文档中所述,有几种方法可以做到:

    您可以在命令行中设置端口(例如8888)

    -Dserver.port=8888 要么 --server.port=8888

    示例: java -jar -Dserver.port=8888 test.jar

    或者在application.properties中设置端口

    server.port=${port:4588}
    

    或(在application.yml中使用yaml语法)

    server:
       port: ${port:4588}
    

    如果在命令行中设置-Dport(或-Dserver.port)传递的端口,则将考虑此端口.如果没有,则默认端口为4588.

    如果要在属性文件中强制执行任何环境变量的端口,则只需编写:

    server.port=8888
    

    2023-02-03 12:52 回答
  • 实际上,最简单的方法是设置server.port属性.

    如果您使用STS作为IDE,从版本3.6.7开始实际上有Spring属性编辑器用于打开属性文件.

    此编辑器为所有Spring Boot属性提供自动完成功能.如果您编写端口并按CTRL + SPACE,server.port将是第一个选项.

    2023-02-03 12:52 回答
  • 当您需要以编程方式执行此操作时,可以在启动期间进行设置:

    System.getProperties().put( "server.port", 80 );
    SpringApplication.run(App.class, args);
    

    这可能有助于环境相关的端口.祝你今天愉快

    2023-02-03 12:52 回答
  • 只需拥有一个项目并application.properties放在src/main/resources那里

    server.port=****
    

    where ****指的是端口号.

    2023-02-03 12:52 回答
  • 当Spring启动应用程序启动时,Tomcat等嵌入式服务器以默认端口启动.嵌入式tomcat默认以8080端口启动.有许多方法可以更改默认服务器端口.

    使用属性文件(.properties/.yml)

    要使用属性文件更改服务器端口,我们需要配置server.port属性.

    一个.在类路径中使用application.properties,例如 src\main\resources\application.properties

    server.port = 8585
    

    服务器将以8585端口启动.要获取随机服务器端口,请为该属性指定0.

    server.port = 0
    

    现在,spring boot将在系统中任何服务器当前未使用的端口上启动服务器.

    湾 在类路径中使用application.yml,例如 src\main\resources\application.yml.

    server:
      port: 8585 
    

    服务器将以8585端口开始.

    对于随机端口,分配0.

    server:
      port: 0 
    

    将java命令与--server.port或-Dserver.port一起使用

    假设我们有一个名为my-app.jar的可执行JAR,然后在使用java命令启动spring boot应用程序时,我们可以使用如下参数.

    使用--server.port

    java -jar my-app.jar  --server.port=8585
    

    使用-Dserver.port

    java -jar -Dserver.port=8585 my-app.jar
    

    服务器将以8585端口开始.

    在短时间内使用带有--port或-Dport的java命令

    简而言之,我们可以删除server关键字并将其设为任何短关键字,例如--port和-Dport.我们可以使用任何短关键字.这里我们使用port作为短关键字.为了实现它,我们需要在属性文件中配置占位符,如下所示.

    使用application.properties

    server.port=${port:8282}
    

    使用application.yml

    server:
       port: ${port:8282}
    

    如果我们不传递端口作为参数,那么默认服务器将以8282开始.如果我们想要一个不同的端口,那么我们需要在参数中传递所需的端口,如下所示.假设我们有一个名为my-app.jar的可执行JAR.

    使用--port

    java -jar my-app.jar --port=8585 
    

    使用-Dport

    java -jar -Dport=8585 my-app.jar 
    

    服务器将以8585端口开始.

    以编程方式使用SERVER_PORT和SpringApplication

    SpringApplication有一个setDefaultProperties()方法,用于更改spring引导默认属​​性.假设我们想要更改默认端口,那么我们需要创建一个Map并使用SERVER_PORT键放置一个端口.找到这个例子.

    MyApplication.java

    package com.humoyun;
    
    import java.util.HashMap;
    import java.util.Map;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class MyApplication {
        public static void main(String[] args) {
            SpringApplication application = new SpringApplication(MyApplication.class);
            Map<String, Object> map = new HashMap<>();
            map.put("SERVER_PORT", "8585");
            application.setDefaultProperties(map);
            application.run(args);
            }     
    } 
    

    Spring启动将使用8585端口启动服务器.

    2023-02-03 12:52 回答
  • 如果您正在使用application.yml添加以下行

    server:
         port: 9000
    

    当然0为随机端口.

    2023-02-03 12:52 回答
  • 希望这一个帮助

    application.properties=> 
    
    server.port=8090
    
    application.yml=> 
    
    server
      port:8090
    

    2023-02-03 12:52 回答
  • 此外,您可以以编程方式配置端口

    @Configuration
    public class ServletConfig {
        @Bean
        public EmbeddedServletContainerCustomizer containerCustomizer() {
            return (container -> {
                container.setPort(8012);
            });
        }
    }
    

    2023-02-03 12:52 回答
  • 由于Spring Boot提供了各种配置外化机制(通过按顺序PropertySource连接到Environment对象的各种实现和/或处理器),您可以通过以下方法设置jar存档之外的任何属性:

      通过命令行参数传递属性作为应用程序参数

      java -jar <path/to/my/jar> --server.port=7788
      

      来自SPRING_APPLICATION_JSON(Spring Boot 1.3.0+)的房产

      在U*IX shell中定义环境变量:

      SPRING_APPLICATION_JSON='{"server.port":7788}' java -jar <path/to/my/jar>
      

      通过使用Java系统属性:

      java -Dspring.application.json='{"server.port":7788}' -jar <path/to/my/jar>
      

      通过命令行参数:

      java -jar <path/to/my/jar> --spring.application.json='{"server.port":7788}'
      

      定义JVM系统属性

      java -Dserver.port=7788 -jar <path/to/my/jar>
      

      定义OS环境变量

      U*IX Shell

      SERVER_PORT=7788 java -jar <path/to/my/jar>
      

      视窗

      SET SERVER_PORT=7788
      java -jar <path/to/my/jar>
      

      将属性放在./config/application.properties 配置文件中

      server.port=7788
      

      并运行:

       java -jar <path/to/my/jar>
      

      将物业放入 ./config/application.yaml

      server:
          port: 7788
      

      并运行:

       java -jar <path/to/my/jar>
      

      将物业放入 ./application.properties

      server.port=7788
      

      并运行:

       java -jar <path/to/my/jar>
      

      将物业放入 ./application.yaml

      server:
          port: 7788
      

      并运行:

       java -jar <path/to/my/jar>
      


    您可以将上述方法组合在一起,并且列表中的前一个配置优先于后一个配置.

    例如:

    SERVER_PORT=2266 java -Dserver.port=5566 -jar <path/to/my/jar> --server.port=7788
    

    服务器将启动并侦听端口7788.

    这在PropertySources中提供优先级较低的默认属性非常有用(通常打包在存档中或在源代码中编码),然后在运行时环境中覆盖它.它是Spring Boot的设计理念:

    开箱即用,但随着需求开始偏离默认值而迅速摆脱困境.


    SERVER_NAMEserver.name转化所做轻松绑定.

    2023-02-03 12:52 回答
  • 扩展其他答案:

    测试文档中有一节介绍如何在集成测试中配置端口:

    41.3测试Spring Boot应用程序

    41.3.3使用随机端口


    在集成测试中,使用注释@SpringBootTestwebEnvironment值进行端口配置.


    随机端口:

    @SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
    

    您可以使用注射值@LocalServerPort是一样的@Value("${local.server.port}").

    例:

    随机端口测试配置:

    @RunWith(SpringRunner.class
    @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
    public class ExampleTest {
       ...
       @LocalServerPort //to inject port value
       int port;
    }
    

    定义的端口:

    @SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT)
    

    它取自server.portif的定义值.

    如果使用定义@TestPropertySource(properties = "server.port=9192"),则覆盖其他定义的值.

    如果不是,则从src/test/resources/application.properties(如果存在)获取值.

    最后,如果未定义,则以默认值开头8080.

    例:

    定义的端口测试配置:

    @RunWith(SpringRunner.class)
    @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
    @TestPropertySource(properties = "server.port=9192")
    public class DemoApplicationTests {
    
        @Test
        public void contextLoads() {
        }
    
    }
    

    2023-02-03 12:52 回答
  • 使用属性server.port = 8080,例如在其他答案中提到的绝对是一种方法.只是想提一下你也可以暴露一个环境属性:

    SERVER_PORT=8080
    

    由于春季靴子能够取代"." 对于"_"而言,对于最近版本中的环境变量,请将其降低到UPPER大小写.这在容器中特别有用,你需要做的就是定义那个环境变量,而无需application.properties通过命令行添加/编辑或传递系统属性(即-Dserver.port=$PORT)

    2023-02-03 12:52 回答
  • 包括以下房产 application.properties

    server.port=8080
    

    2023-02-03 12:52 回答
  • By default spring boot app start with embedded tomcat server start at default port 8080. spring provides you with following different customization you can choose one of them.

    NOTE – you can use server.port=0 spring boot will find any unassigned http random port for us.

    1) application.properties

    server.port=2020
    

    2) application.yml

    server:  
         port : 2020
    

    3) Change the server port programatically

    3.1) By implementing WebServerFactoryCustomizer interface - Spring 2.x

    @Component
    public class MyTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
    
        @Override
        public void customize(TomcatServletWebServerFactory factory) {
            // customize the factory here
            factory.setPort(2020);
        }
    }
    

    3.2) By Implementing EmbeddedServletContainerCustomizer interface - Spring 1.x

    @Component
    public class CustomizationBean implements EmbeddedServletContainerCustomizer {
    
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            // customize here
            container.setPort(2020);
        }
    }
    

    4) By using command line option

     java -jar spring-boot-app.jar -Dserver.port=2020
    

    2023-02-03 12:53 回答
  • 通过更改application.properties,您可以在服务器配置中更改许多其他内容.像会话超时,地址和端口等.请参阅下面的帖子

    参考:http://docs.spring.io/spring-boot/docs/1.4.x/reference/html/common-application-properties.html

    我使用了以下几个.

    server.session.timeout=1
    server.port = 3029
    server.address= deepesh
    

    2023-02-03 12:53 回答
    1. 正如大家所说,你可以在application.properties中指定
      server.port = 9000(可以是任何其他值)

      如果在项目中使用弹簧执行器,默认情况下它指向
      8080,如果要更改它,则在application.properties中提及
      management.port = 9001(可以是任何其他值)

    2023-02-03 12:53 回答
  • 1.1通过属性文件更新.

    /src/main/resources/application.properties

    server.port = 8888

    通过yaml文件更新.

       server:
    
         port: 8888
    

    EmbeddedServletContainerCustomizer

    @Component
    public class CustomContainer implements EmbeddedServletContainerCustomizer {
    
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
    
            container.setPort(8888);
    
        }
    
    }
    

    2023-02-03 12:53 回答
  • 您可以通过以下方法添加端口。

      运行->配置部分

      application.xml添加server.port=XXXX

    2023-02-04 11:54 回答
  • 您可以在/ src / main / resources /下的application.properties中进行设置

    server.port = 8090
    

    2023-02-04 11:56 回答
  • 您还可以使用SERVER_PORT环境变量来配置Spring Boot端口。只需设置环境变量并重新启动应用程序即可:

    set SERVER_PORT=9999 // on windows machine
    export SERVER_PORT=9999 // on linux
    

    请注意,如果未在系统范围内设置这些环境变量,则应在同一会话上运行启动应用程序。

    2023-02-04 11:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有