如何配置端口一个Spring应用程序启动如何配置端口一个Spring应用程序启动(How to co

2019-05-08 23:29发布

如何配置TCP / IP端口侦听的由弹簧启动应用程序,所以它不使用的默认端口8080。

Answer 1:

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

server.port = 8090

对于随机端口使用

server.port=0


Answer 2:

有改变嵌入式Tomcat的端口在Spring的引导应用程序主要有两种途径。

修改application.properties

首先,你可以尝试在/资源文件夹中的文件application.properties:

server.port = 8090

修改VM选项

第二种方式,如果你想避免修改任何文件和东西,你只需要在当地的检查,你可以使用一个虚拟机ARG:

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

-Dserver.port=8090

此外,如果您需要了解更多信息,你可以在这里查看以下博客文章: 在春天的引导应用程序更改端口



Answer 3:

由于春季启动提供各种配置外化机制 (通过各种PropertySource连线到实现和/或处理器Environment以便对象),您可以通过以下方式将您的JAR档案以外的任何财产:

  1. 通过命令行参数的应用程序参数传递属性

     java -jar <path/to/my/jar> --server.port=7788 
  2. 从财产SPRING_APPLICATION_JSON (春季启动1.3.0+)

    • 定义U * IX壳环境变量:

       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}' 
  3. 定义JVM系统属性

     java -Dserver.port=7788 -jar <path/to/my/jar> 
  4. 定义OS环境变量

    • U * IX壳牌

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

       SET SERVER_PORT=7788 java -jar <path/to/my/jar> 
  5. 将财产./config/application.properties 配置文件

     server.port=7788 

    然后运行:

      java -jar <path/to/my/jar> 
  6. 将财产./config/application.yaml

     server: port: 7788 

    然后运行:

      java -jar <path/to/my/jar> 
  7. 将物业./application.properties

     server.port=7788 

    然后运行:

      java -jar <path/to/my/jar> 
  8. 将财产./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提供默认属性与优先级低(通常包装在归档或源编码),然后将其覆盖在运行时环境。 它是春天启动的设计理念:

自以为是的开箱即用,但走出的方式尽快开始要求从默认发散。


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



Answer 4:

此外,您还可以通过编程配置端口

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


Answer 5:

您可以在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


Answer 6:

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

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

随着春季启动2.0的,下面是工作(线索人的命令在这里 ):

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


Answer 7:

如果你正在使用application.yml以下行添加到它

server:
     port: 9000

当然0为随机端口的。



Answer 8:

正如上文Spring文档 ,有几种方法可以做到这一点:

要么你设置的端口在命令行(例如8888)

-Dserver.port=8888--server.port=8888

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

或者你设置在application.properties港口

server.port=${port:4588}

或(与YAML语法application.yml)

server:
   port: ${port:4588}

如果通过-Dport(或-Dserver.port)传递的端口在命令行被设置则该端口将被考虑进去。 如果没有,那么该端口将在默认情况下是4588。

如果要强制执行性文件中的端口的任何环境变量,你就必须写:

server.port=8888


Answer 9:

包括下列财产application.properties

server.port=8080


Answer 10:

当你需要做的编程方式,可以在启动过程中进行设置:

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

这可能有助于喜欢的事情与环境相关的端口。 祝你今天愉快



Answer 11:

您可以通过覆盖指定端口EmbeddedServletContainerFactory配置(基于Java或XML)内豆。 在那里,你可以对使用嵌入式servlet容器指定端口。 请参阅春季启动-核心 “嵌入式Servlet容器支持”段落和例子在那里。 希望这可以帮助。



Answer 12:

要扩展其他答案:

有一个在文档进行测试,说明如何在集成测试配置的端口部分:

  • 41.3测试春季启动应用程序
  • 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.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() {
    }

}


Answer 13:

application.properties文件存在于资源:

server.port=8082


Answer 14:

当春天启动的应用程序启动,如Tomcat嵌入式服务器用默认的端口启动。 嵌入式Tomcat启动与8080端口为默认值。 有很多方法来改变默认的服务器端口。

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

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

一个。 使用在类路径application.properties如SRC \主\资源\ application.properties

server.port = 8585

服务器将与8585端口开始。 为了得到随机的服务器端口,0赋给财产。

server.port = 0

现在春天开机时会启动一个尚未被系统中的任何服务器当前使用的端口上的服务器。

湾 使用在类路径application.yml如SRC \主\资源\ application.yml。

server:
  port: 8585 

服务器将与8585端口开始。

对于随机端口,分配0。

server:
  port: 0 

使用Java命令与--server.port或-Dserver.port

假设我们有一个名为为我的app.jar一个可执行的JAR,然后在使用java命令我们可以使用参数如下春天开始启动应用程序。

使用--server.port

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

使用-Dserver.port

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

服务器将与8585端口开始。

使用Java命令在短--port或-Dport

要在短期--server.port和-Dserver.port,我们可以删除服务器关键字,使之任何短期的关键字,如--port和-Dport。 我们可以使用任何短期的关键字。 这里我们使用的端口短关键字。 为了实现这一目标,我们需要在属性文件中配置的占位符,如下所示。

使用application.properties

server.port=${port:8282}

使用application.yml

server:
   port: ${port:8282}

如果我们不通过端口作为参数,则默认情况下,服务器将与8282.开始如果我们想要一个不同的端口,那么我们就需要通过所需的端口参数,如下所示。 假设我们有一个名为为我的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(),其被用于改变弹簧引导默认属​​性。 假设我们想改变默认的端口,然后我们需要创建一个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);
        }     
} 

春季启动将与8585端口启动服务器。



Answer 15:

有三种方式这取决于你正在使用的应用程序配置文件上做

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

server.port = 8090

b)如果你正在使用YAML格式application.yml文件组服务器端口财产如下

server:
     port: 8090

c)你还可以设置属性作为系统性能的主要方法

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


Answer 16:

application.properties文件中添加这一行:

server.port = 65535

在哪里放置外商投资企业:

24.3应用程序属性文件

从下列位置application.properties文件SpringApplication负载特性,并将它们添加到春节环境:

 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



Answer 17:

有您可以在服务器配置,通过改变application.properties改变许多其他东西。 像会话超时,地址和端口等。参见后下

REF: 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


Answer 18:

  1. 正如大家说的,你可以在application.properties指定
    server.port = 9000(可以是任何其它值)

  2. 如果您使用的弹簧操动机构在项目中,默认情况下它指向
    8080,如果你想改变它,然后在application.properties提
    management.port = 9001(可以是任何其它值)



Answer 19:

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

如果您使用的STS为IDE,从3.6.7版本你确实有春天属性编辑器打开属性文件。

该编辑器提供了自动完成所有的春季启动性能。 如果你写端口 ,按CTRL + SPACE,server.port将是第一个选项。



Answer 20:

希望这一个帮助

application.properties=> 

server.port=8090

application.yml=> 

server
  port:8090


Answer 21:

使用属性server.port = 8080例如像在其他的答案中提到,绝对是很长的路要走。 只是想提一提,你也可以暴露的环境属性:

SERVER_PORT=8080

由于春天开机能够代替“” 对于“_”,并在最近的版本较低,为环境变量大写。 这是在容器中特别有用的,其中所有你必须做的是定义环境变量无添加/编辑application.properties通过命令行或传递系统特性(即-Dserver.port=$PORT



Answer 22:

在您添加此application.properties文件

server.port= 8080


Answer 23:

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

 server.port = 8080

“端口取决于你的选择,你要承载的应用程序”



Answer 24:

经由一个属性文件更新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);

    }

}


Answer 25:

只要有一个application.propertiessrc/main/resources项目,并给予有

server.port=****

其中****指的端口号。



Answer 26:

您可以在下面的方法添加端口。

  1. 运行 - >配置部分

  2. application.xml添加server.port=XXXX



Answer 27:

您可以设置在application.properties下/ src目录/主/资源/

server.port = 8090


Answer 28:

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

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

请注意,如果您不设置这些环境变量系统范围,你应该运行在同一个会议上启动应用程序。



Answer 29:

晴springboot上运行port:8080 ,因为嵌入式的Tomcat。 在一些可能引发错误port 8080 already in use 。 为了避免这种问题,我们可以配置服务器端口。

使用application.properties

添加server.port=9898

运行时配置

运行下面的参数应用程序。

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



Answer 30:

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

1组server.port财产application.properties文件

server.port = 8090

在2组服务器端口属性application.yml文件

server:
     port: 8090

3设置属性在系统性能main方法

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


文章来源: How to configure port for a Spring Boot application