【转】https://www.javaroad.cn/questions/11162

  • 1 个月前

    1.1通过属性文件更新 .

    /src/main/resources/application.properties

    server.port = 8888

    Update via a yaml file.

    server:
    
         port: 8888

    EmbeddedServletContainerCustomizer

    @Component
    public class CustomContainer implements EmbeddedServletContainerCustomizer { @Override
    public void customize(ConfigurableEmbeddedServletContainer container) { container.setPort(8888); } }
  • 5
    1 个月前

    application.properties 资源中存在的文件:

    server.port=8082
  • 7
    1 个月前

    当您需要以编程方式执行此操作时,可以在启动期间进行设置:

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

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

  • 2
    1 个月前

    有三种方法可以做到这一点

    1在 application.properties 文件中设置server.port属性

    server.port = 8090

    2在 application.yml 文件中设置服务器端口属性

    server:
    port: 8090

    3在 main 方法中将属性设置为系统属性

    System.setProperty("server.port","8090");
  • 2
    1 个月前

    您还可以使用 SERVER_PORT 环境变量来配置Spring Boot端口 . 只需设置环境变量并重新启动应用程序:

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

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

  • 9
    1 个月前

    由于Spring Boot提供various configuration externalization mechanism(通过各种 PropertySource 实现和/或按顺序连接到 Environment 对象的处理器),您可以通过以下方法设置jar存档的任何属性 outside :

    • 通过命令行参数传递属性为 application argument
    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 system property
    java -Dserver.port=7788 -jar <path/to/my/jar>
    • 定义 OS environment variable

    • U * IX Shell

    SERVER_PORT=7788 java -jar <path/to/my/jar>
    • Windows
    SET SERVER_PORT=7788
    java -jar <path/to/my/jar>
    • 将 property 置于 ./config/application.properties configuration file
    server.port=7788

    并运行:

    java -jar <path/to/my/jar>
    • 在 ./config/application.yaml 放置 properties
    server:
    port: 7788

    并运行:

    java -jar <path/to/my/jar>
    • 在 ./application.properties 放置 properties
    server.port=7788

    并运行:

    java -jar <path/to/my/jar>
    • 在 ./application.yaml 放置 properties
    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 转换由Relaxed Binding完成 .

  • 4
    1 个月前

    使用属性server.port = 8080就像在其他答案中提到的那样绝对是一种方法 . 只是想提一下你也可以暴露一个环境属性:

    SERVER_PORT=8080

    由于Spring引导能够替换""为"",并且在最近版本中为环境变量更低为UPPER大小写 . 这在容器中特别有用,你需要做的就是定义那个环境变量而不添加/编辑 application.properties 或通过命令行传递系统属性(即 -Dserver.port=$PORT

  • 14
    1 个月前

    只需在项目的 src/main/resources 中有一个 application.properties 就可以了

    server.port=****

    其中 **** 指的是端口号 .

  • 16
    1 个月前

    您可以通过在配置中覆盖 EmbeddedServletContainerFactory bean来指定端口(基于java或xml) . 在那里,您可以为使用的嵌入式servlet容器指定端口 . 请看那里的Spring Boot - Core "Embedded Servlet Container Support"段和例子 . 希望这可以帮助 .

  • 89
    1 个月前

    您可以在java代码中设置端口:

    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
  • 4
    1 个月前

    application.properties 文件中添加此项

    server.port= 8080
  • 910
    1 个月前

    在Spring Boot Application中,有两种主要方法可以更改Embedded Tomcat中的端口 .

    Modify application.properties

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

    Modify a VM option

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

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

    -Dserver.port=8090

    此外,如果您需要更多信息,可以在此处查看以下博客文章:Changing the port on a Spring Boot Application

  • 90
    1 个月前

    希望这一个帮助

    application.properties=> 
    
    server.port=8090
    
    application.yml=> 
    
    server
    port:8090
  • 69
    1 个月前

    默认端口是:8080但我们可以在application.properties中自定义端口号,如下所示

    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp
    server.port = 5050 -- #here we can give any port number.
  • 12
    1 个月前

    扩展其他答案:

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


    在集成测试中,使用注释 @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)

    它取得了 Value server.port 如果已定义 .

    • 如果使用 @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() {
    } }
  • 10
    1 个月前

    通过更改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
  • 13
    1 个月前

    在application.properties文件中提供端口号将解决该问题

    server.port = 8080

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

  • 42
    1 个月前

    said in docs使用命令行选项将 server.port 设置为jvm --server.port=8090 作为系统属性,或者在 /src/main/resources/ 中添加 application.properties

    server.port = 8090

    用于随机端口使用

    server.port=0
  • 7
    1 个月前

    如果你谷歌为 Gradle Spring Port ,这个问题是第一个结果 .

    如果您使用gradle,如果已经应用了Spring Boot Gradle Plugin,则可以执行以下操作:

    bootRun {
    args += ["--server.port=[PORT]"]
    }

    如需更复杂的答案,请参阅我的答案here .

  • 2
    1 个月前

    实际上,最简单的方法是设置server.port属性 .

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

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

  • 133
    1 个月前

    如果您正在使用 application.yml ,请将以下行添加到其中

    server:
    port: 9000

    当然0为随机端口 .

  • 38
    1 个月前

    您可以在/ src / main / resources /下的application.properties中进行设置

    server.port = 8090
  • 31
    1 个月前

    application.properties 中包括以下属性

    server.port=8080
  • 7
    1 个月前

    如果您想在本地运行它,请使用此 -

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

    截至 Spring Boot 2.0 ,这是有效的命令(线索是here):

    mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8085
  • 7
    1 个月前

    此外,您可以以编程方式配置端口

    @Configuration
    public class ServletConfig {
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
    return (container -> {
    container.setPort(8012);
    });
    }
    }
  • 3
    1 个月前

    Spring documentation中所述,有几种方法可以做到:

    您在命令行中设置端口(例如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
  • 3
    1 个月前

    由于嵌入式Tomcat,大多数springboot在 port:8080 上运行 . 在某些情况下,它可能会抛出错误 port 8080 already in use . 为了避免这种问题,我们可以配置服务器端口 .

    使用application.properties

    添加 server.port=9898

    在运行时配置上

    用以下参数运行你的应用程序 .

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

  • 43
    1 个月前
    • 正如大家所说,你可以在application.properties中指定
      server.port = 9000 (可以是任何其他值)

    • 如果您在项目中使用 spring Actuator ,默认情况下它指向
      8080,如果你想改变它,那么在application.properties中提一下
      management.port = 9001 (可以是任何其他值)

  • 4
    1 个月前

    您可以在以下方法中添加端口 .

    • 运行 - >配置部分

    • application.xml 添加 server.port=XXXX

  • 15
    1 个月前

    当Spring启动应用程序启动时,Tomcat等嵌入式服务器以默认端口启动 . 嵌入式tomcat默认以8080端口启动 . 有许多方法可以更改默认服务器端口 .

    Using Property File (.properties/.yml)

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

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

    server.port = 8585

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

    server.port = 0

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

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

    server:
    port: 8585

    服务器将以8585端口开始 .

    对于随机端口,分配0 .

    server:
    port: 0

    Using java Command with --server.port or -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端口开始 .

    Using java Command with --port or -Dport in Short

    简而言之,我们可以删除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端口开始 .

    Using SERVER_PORT with SpringApplication Programmatically

    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端口启动服务器 .

如何为Spring Boot应用程序配置端口的更多相关文章

  1. 如何在自定义端口上运行 Spring Boot 应用程序?

    为了在自定义端口上运行 Spring Boot 应用程序,您可以在 application.properties 中指定端口. server.port = 8090

  2. Spring Boot 2.0 配置图文教程

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 ...

  3. Spring Boot SSL [https]配置例子

    前言 本文主要介绍Spring Boot HTTPS相关配置,基于自签证书实现: 通过本例子,同样可以了解创建SSL数字证书的过程: 本文概述 Spring boot HTTPS 配置 server. ...

  4. 【转】spring boot application.properties 配置参数详情

    multipart multipart.enabled 开启上传支持(默认:true) multipart.file-size-threshold: 大于该值的文件会被写到磁盘上 multipart. ...

  5. 如何在Spring boot中修改默认端口

    文章目录 介绍 使用Property文件 在程序中指定 使用命令行参数 值生效的顺序 如何在Spring boot中修改默认端口 介绍 Spring boot为应用程序提供了很多属性的默认值.但是有时 ...

  6. spring boot web相关配置

    spring boot集成了servlet容器,当我们在pom文件中增加spring-boot-starter-web的maven依赖时,不做任何web相关的配置便能提供web服务,这还得归于spri ...

  7. 使用Maven插件构建Spring Boot应用程序镜像

    使用Maven插件构建Spring Boot应用程序的Docker镜像. 环境准备 1.Linux系统 2.安装JDK,Maven 3.安装Docker 应用实践 1.在应用程序根目录下添加Docke ...

  8. spring boot多数据源配置(mysql,redis,mongodb)实战

    使用Spring Boot Starter提升效率 虽然不同的starter实现起来各有差异,但是他们基本上都会使用到两个相同的内容:ConfigurationProperties和AutoConfi ...

  9. 转-spring boot web相关配置

    spring boot web相关配置 80436 spring boot集成了servlet容器,当我们在pom文件中增加spring-boot-starter-web的maven依赖时,不做任何w ...

随机推荐

  1. 静态站点生成器-html-markdown-hugo

    推荐指数:

  2. React:快速上手(8)——前后端分离的跨域访问与会话保持

    React:快速上手(8)——前后端分离的跨域访问与会话保持 跨域访问 跨域是指从一个域名的网页去请求另一个域名的资源.比如从http://www.baidu.com/ 页面去请求http://www ...

  3. jenkins集成robot用例并发送自定义报告

    slave

  4. Selenium(二十):expected_conditions判断页面元素

    1. 判断元素(expected_conditons) 作为一个刚刚转到python开发的小朋友,在开发前只将前辈们封装的方法看了一遍,学了一边selenium基础.看到封装的方法有什么判断元素是否存 ...

  5. lua . 命令收集

    io.popen()## 原型:io.popen ([prog [, mode]]) 解释:在额外的进程中启动程序prog,并返回用于prog的文件句柄.通俗的来说就是使用这个函数可以调用一个命令(程 ...

  6. Use Hexo to Build My Gitee Blog

      之前有自己建站托管自己的博客系统, 后来因为流量实在太少, 服务器又要每个月出钱, 然后就把她关了, 然是拥有自己的网站的心一直没有退去啊, 然后之前有接触到别人用GitHub托管静态网页的玩法, ...

  7. LeetCode 617. 合并二叉树(Merge Two Binary Trees)

    617. 合并二叉树 617. Merge Two Binary Trees 题目描述 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新 ...

  8. LeetCode 896. 单调数列(Monotonic Array)

    896. 单调数列 896. Monotonic Array 题目描述 如果数组是单调递增或单调递减的,那么它是单调的. 如果对于所有 i<=j,A[i]<=A[j],那么数组 A 是单调 ...

  9. [转帖]nginx基础整理

    nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...

  10. [转帖]Linux下逻辑地址、线性地址、物理地址详细总结

    Linux下逻辑地址.线性地址.物理地址详细总结 https://www.cnblogs.com/alantu2018/p/9002441.html 总结的挺好的 现在应该是段页式管理 使用MMU和T ...