Pau*_*est 728 java port spring spring-boot server
如何配置Spring Boot应用程序侦听的TCP/IP端口,因此它不使用默认端口8080.
Pau*_*est 1134
正如在所述的文档任一组server.port
使用命令行选项来JVM中的系统属性-Dserver.port=8090
或添加application.properties
在/src/main/resources/
与
server.port=8090
Run Code Online (Sandbox Code Playgroud)
用于随机端口使用
server.port=0
Run Code Online (Sandbox Code Playgroud)
ana*_*ocs 181
在Spring Boot应用程序中,有两种主要方法可以更改嵌入式Tomcat中的端口.
修改application.properties
首先,您可以尝试/ resources文件夹中的application.properties文件:
server.port = 8090
Run Code Online (Sandbox Code Playgroud)
修改VM选项
第二种方法,如果你想避免修改任何文件并检查你在本地只需要的东西,你可以使用vm arg:
转到运行 - >编辑配置 - > VM选项
-Dserver.port=8090
Run Code Online (Sandbox Code Playgroud)
此外,如果您需要更多信息,可以在此处查看以下博客文章: 更改Spring Boot应用程序上的端口
tan*_*an9 132
由于Spring Boot提供了各种配置外化机制(通过按顺序PropertySource
连接到Environment
对象的各种实现和/或处理器),您可以通过以下方法设置jar存档之外的任何属性:
通过命令行参数传递属性作为应用程序参数
java -jar <path/to/my/jar> --server.port=7788
Run Code Online (Sandbox Code Playgroud)来自SPRING_APPLICATION_JSON
(Spring Boot 1.3.0+)的房产
在U*IX shell中定义环境变量:
SPRING_APPLICATION_JSON='{"server.port":7788}' java -jar <path/to/my/jar>
Run Code Online (Sandbox Code Playgroud)通过使用Java系统属性:
java -Dspring.application.json='{"server.port":7788}' -jar <path/to/my/jar>
Run Code Online (Sandbox Code Playgroud)通过命令行参数:
java -jar <path/to/my/jar> --spring.application.json='{"server.port":7788}'
Run Code Online (Sandbox Code Playgroud)定义JVM系统属性
java -Dserver.port=7788 -jar <path/to/my/jar>
Run Code Online (Sandbox Code Playgroud)定义OS环境变量
U*IX Shell
SERVER_PORT=7788 java -jar <path/to/my/jar>
Run Code Online (Sandbox Code Playgroud)视窗
SET SERVER_PORT=7788
java -jar <path/to/my/jar>
Run Code Online (Sandbox Code Playgroud)将属性放在./config/application.properties
配置文件中
server.port=7788
Run Code Online (Sandbox Code Playgroud)
并运行:
java -jar <path/to/my/jar>
Run Code Online (Sandbox Code Playgroud)将物业放入 ./config/application.yaml
server:
port: 7788
Run Code Online (Sandbox Code Playgroud)
并运行:
java -jar <path/to/my/jar>
Run Code Online (Sandbox Code Playgroud)将物业放入 ./application.properties
server.port=7788
Run Code Online (Sandbox Code Playgroud)
并运行:
java -jar <path/to/my/jar>
Run Code Online (Sandbox Code Playgroud)将物业放入 ./application.yaml
server:
port: 7788
Run Code Online (Sandbox Code Playgroud)
并运行:
java -jar <path/to/my/jar>
Run Code Online (Sandbox Code Playgroud)您可以将上述方法组合在一起,并且列表中的前一个配置优先于后一个配置.
例如:
SERVER_PORT=2266 java -Dserver.port=5566 -jar <path/to/my/jar> --server.port=7788
Run Code Online (Sandbox Code Playgroud)
服务器将启动并侦听端口7788.
这在PropertySources中提供优先级较低的默认属性非常有用(通常打包在存档中或在源代码中编码),然后在运行时环境中覆盖它.它是Spring Boot的设计理念:
开箱即用,但随着需求开始偏离默认值而迅速摆脱困境.
SERVER_NAME
以server.name
转化所做轻松绑定.
mak*_*erj 97
此外,您可以以编程方式配置端口
@Configuration
public class ServletConfig {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return (container -> {
container.setPort(8012);
});
}
}
Run Code Online (Sandbox Code Playgroud)
ayu*_*huk 73
你可以在java代码中设置port:
HashMap<String, Object> props = new HashMap<>();
props.put("server.port", 9999);
new SpringApplicationBuilder()
.sources(SampleController.class)
.properties(props)
.run(args);
Run Code Online (Sandbox Code Playgroud)
或者在application.yml中:
server:
port: 9999
Run Code Online (Sandbox Code Playgroud)
或者在application.properties中:
server.port=9999
Run Code Online (Sandbox Code Playgroud)
或者作为命令行参数:
-Dserver.port=9999
Run Code Online (Sandbox Code Playgroud)
itw*_*lal 61
如果您想在本地运行它,请使用此 -
mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8085'
从Spring Boot 2.0开始,这里有一个有效的命令(线索在这里):
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8085
Run Code Online (Sandbox Code Playgroud)
gat*_*gaj 45
如果您正在使用application.yml
添加以下行
server:
port: 9000
Run Code Online (Sandbox Code Playgroud)
当然0为随机端口.
Oli*_*ien 40
如Spring文档中所述,有几种方法可以做到:
您可以在命令行中设置端口(例如8888)
-Dserver.port=8888
要么 --server.port=8888
示例: java -jar -Dserver.port=8888 test.jar
或者在application.properties中设置端口
server.port=${port:4588}
Run Code Online (Sandbox Code Playgroud)
或(在application.yml中使用yaml语法)
server:
port: ${port:4588}
Run Code Online (Sandbox Code Playgroud)
如果在命令行中设置-Dport(或-Dserver.port)传递的端口,则将考虑此端口.如果没有,则默认端口为4588.
如果要在属性文件中强制执行任何环境变量的端口,则只需编写:
server.port=8888
Run Code Online (Sandbox Code Playgroud)
Cha*_*uli 33
包括以下房产 application.properties
server.port=8080
Run Code Online (Sandbox Code Playgroud)
小智 20
如果您使用 gradle 作为构建工具,则可以在application.yml文件中将服务器端口设置为:
server:
port: 8291
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 maven,则可以在application.properties文件中将端口设置为:
server.port: 8291
Run Code Online (Sandbox Code Playgroud)
Lui*_*cio 18
当您需要以编程方式执行此操作时,可以在启动期间进行设置:
System.getProperties().put( "server.port", 80 );
SpringApplication.run(App.class, args);
Run Code Online (Sandbox Code Playgroud)
这可能有助于环境相关的端口.祝你今天愉快
nnd*_*dru 15
您可以通过覆盖EmbeddedServletContainerFactory
配置中的bean 来指定端口(基于java或xml).在那里,您可以为使用的嵌入式servlet容器指定端口.请参阅Spring Boot - Core "嵌入式Servlet容器支持"一节和示例.希望这可以帮助.
Ami*_*thi 15
在application.properties
资源中存在的文件中:
server.port=8082
Run Code Online (Sandbox Code Playgroud)
Pau*_*Pau 14
扩展其他答案:
测试文档中有一节介绍如何在集成测试中配置端口:
在集成测试中,使用注释@SpringBootTest
和webEnvironment
值进行端口配置.
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
Run Code Online (Sandbox Code Playgroud)
您可以使用注射值@LocalServerPort
是一样的@Value("${local.server.port}")
.
随机端口测试配置:
@RunWith(SpringRunner.class
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class ExampleTest {
...
@LocalServerPort //to inject port value
int port;
}
Run Code Online (Sandbox Code Playgroud)
@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT)
Run Code Online (Sandbox Code Playgroud)
它取自server.port
if的定义值.
@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() {
}
}
Run Code Online (Sandbox Code Playgroud)
Hum*_*mad 14
当Spring启动应用程序启动时,Tomcat等嵌入式服务器以默认端口启动.嵌入式tomcat默认以8080端口启动.有许多方法可以更改默认服务器端口.
使用属性文件(.properties/.yml)
要使用属性文件更改服务器端口,我们需要配置server.port属性.
一个.在类路径中使用application.properties,例如 src\main\resources\application.properties
server.port = 8585
Run Code Online (Sandbox Code Playgroud)
服务器将以8585端口启动.要获取随机服务器端口,请为该属性指定0.
server.port = 0
Run Code Online (Sandbox Code Playgroud)
现在,spring boot将在系统中任何服务器当前未使用的端口上启动服务器.
湾 在类路径中使用application.yml,例如 src\main\resources\application.yml.
server:
port: 8585
Run Code Online (Sandbox Code Playgroud)
服务器将以8585端口开始.
对于随机端口,分配0.
server:
port: 0
Run Code Online (Sandbox Code Playgroud)
将java命令与--server.port或-Dserver.port一起使用
假设我们有一个名为my-app.jar的可执行JAR,然后在使用java命令启动spring boot应用程序时,我们可以使用如下参数.
使用--server.port
java -jar my-app.jar --server.port=8585
Run Code Online (Sandbox Code Playgroud)
使用-Dserver.port
java -jar -Dserver.port=8585 my-app.jar
Run Code Online (Sandbox Code Playgroud)
服务器将以8585端口开始.
在短时间内使用带有--port或-Dport的java命令
简而言之,我们可以删除server关键字并将其设为任何短关键字,例如--port和-Dport.我们可以使用任何短关键字.这里我们使用port作为短关键字.为了实现它,我们需要在属性文件中配置占位符,如下所示.
使用application.properties
server.port=${port:8282}
Run Code Online (Sandbox Code Playgroud)
使用application.yml
server:
port: ${port:8282}
Run Code Online (Sandbox Code Playgroud)
如果我们不传递端口作为参数,那么默认服务器将以8282开始.如果我们想要一个不同的端口,那么我们需要在参数中传递所需的端口,如下所示.假设我们有一个名为my-app.jar的可执行JAR.
使用--port
java -jar my-app.jar --port=8585
Run Code Online (Sandbox Code Playgroud)
使用-Dport
java -jar -Dport=8585 my-app.jar
Run Code Online (Sandbox Code Playgroud)
服务器将以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);
}
}
Run Code Online (Sandbox Code Playgroud)
Spring启动将使用8585端口启动服务器.
小智 14
根据您使用的应用程序配置文件,有三种方法可以执行此操作
a)如果您正在使用application.properties文件集
server.port = 8090
b)如果您正在使用YAML格式的application.yml文件集服务器端口属性,如下所示
server:
port: 8090
Run Code Online (Sandbox Code Playgroud)
c)您还可以在main方法中将属性设置为System属性
System.setProperty("server.port","8090");
Run Code Online (Sandbox Code Playgroud)
Naf*_*ema 12
默认情况下,spring-web 模块提供了一个内嵌的 tomcat 服务器,运行在 8080 端口号下。如果您需要更改应用程序的端口号,请到application.properties
文件中使用server.port
属性配置端口号。
server.port= 9876
Run Code Online (Sandbox Code Playgroud)
那么您的应用程序正在端口 9876 下运行。
dee*_*mar 11
通过更改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
Run Code Online (Sandbox Code Playgroud)
Zha*_*ang 11
在application.properties
文件中,添加以下行:
server.port = 65535
在哪里放置那个fie:
24.3应用程序属性文件
SpringApplication从以下位置的application.properties文件加载属性,并将它们添加到Spring环境中:
Run Code Online (Sandbox Code Playgroud)A /config subdirectory of the current directory The current directory A classpath /config package The classpath root
列表按优先级排序(在列表中较高位置定义的属性将覆盖在较低位置中定义的属性).
在我的情况下,我把它放在jar
文件所在的目录中.
从:
正如大家所说,你可以在application.properties中指定
server.port = 9000(可以是任何其他值)
如果在项目中使用弹簧执行器,默认情况下它指向
8080,如果要更改它,则在application.properties中提及
management.port = 9001(可以是任何其他值)
小智 9
将其添加到您的application.properties
文件中
server.port= 8080
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
2) application.yml
server:
port : 2020
Run Code Online (Sandbox Code Playgroud)
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);
}
}
Run Code Online (Sandbox Code Playgroud)
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);
}
}
Run Code Online (Sandbox Code Playgroud)
4) By using command line option
java -jar spring-boot-app.jar -Dserver.port=2020
Run Code Online (Sandbox Code Playgroud)
默认情况下,Spring-web 模块提供一个嵌入式 tomcat 服务器,运行在端口号 8080 上。
\n您可以按如下方式更改它 -
\nA) 如果您使用 gradle,则可以在 application.yml 中设置属性:
\n server: \n port: 8042\n
Run Code Online (Sandbox Code Playgroud)\nB) 如果您使用的是 maven\xc2\xa0 那么您可以在 application.properties 中设置该属性:
\nserver.port: 8042\n
Run Code Online (Sandbox Code Playgroud)\nC) 当您自己的配置文件中有端口并希望在运行时设置它时。
\n\xc2\xa0通过实现WebServerFactoryCustomizer接口 - Spring 2.x
\n@Component\npublic class MyTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {\n\n @Override\n public void customize(TomcatServletWebServerFactory factory) {\n // customize the factory here\n factory.setPort(8042);\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\xc2\xa0通过实现EmbeddedServletContainerCustomizer接口 - Spring 1.x
\n@Component\npublic class CustomizationBean implements EmbeddedServletContainerCustomizer {\n\n @Override\n public void customize(ConfigurableEmbeddedServletContainer container) {\n // customize here\n container.setPort(8042);\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n
实际上,最简单的方法是设置server.port属性.
如果您使用STS作为IDE,从版本3.6.7开始实际上有Spring属性编辑器用于打开属性文件.
此编辑器为所有Spring Boot属性提供自动完成功能.如果您编写端口并按CTRL + SPACE,server.port将是第一个选项.
使用属性server.port = 8080,例如在其他答案中提到的绝对是一种方法.只是想提一下你也可以暴露一个环境属性:
SERVER_PORT=8080
Run Code Online (Sandbox Code Playgroud)
由于春季靴子能够取代"." 对于"_"而言,对于最近版本中的环境变量,请将其降低到UPPER大小写.这在容器中特别有用,你需要做的就是定义那个环境变量,而无需application.properties
通过命令行添加/编辑或传递系统属性(即-Dserver.port=$PORT
)
在application.properties文件中提供端口号将解决该问题
server.port = 8080
Run Code Online (Sandbox Code Playgroud)
"端口取决于您的选择,您希望托管应用程序的位置"
使用 mvn shell 命令行,spring-boot 2:
mvn spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=8085'
Run Code Online (Sandbox Code Playgroud)
小智 6
只需拥有一个项目并application.properties
放在src/main/resources
那里
server.port=****
Run Code Online (Sandbox Code Playgroud)
where ****
指的是端口号.
小智 6
1.1通过属性文件更新.
/src/main/resources/application.properties
server.port = 8888
通过yaml文件更新.
server:
port: 8888
Run Code Online (Sandbox Code Playgroud)
EmbeddedServletContainerCustomizer
@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort(8888);
}
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用SERVER_PORT
环境变量来配置Spring Boot端口。只需设置环境变量并重新启动应用程序即可:
set SERVER_PORT=9999 // on windows machine
export SERVER_PORT=9999 // on linux
Run Code Online (Sandbox Code Playgroud)
请注意,如果未在系统范围内设置这些环境变量,则应在同一会话上运行启动应用程序。
您可以在/ src / main / resources /下的application.properties中进行设置
server.port = 8090
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以在 Spring Boot 项目的 resources 文件夹中的 application.properties 文件中配置端口。
server.port="port which you need"
Run Code Online (Sandbox Code Playgroud)
port:8080
由于嵌入式 Tomcat,主要是 springboot 运行。在某些情况下,它可能会引发错误port 8080 already in use
。为了避免此类问题,我们可以配置服务器端口。
添加 server.port=9898
使用以下参数运行您的应用程序。
spring-boot:run -Drun.jvmArguments='-Dserver.port=8081'
通过 Gradle 运行:
./gradlew bootRun
./gradlew bootRun --args='--server.port=8888'
application.properties
如果名为 的文件中有任何变量PORT
,请运行以下命令:PORT=8888 ./gradlew bootRun
通过 Maven 运行:
mvnw spring-boot:run
mvnw spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=8085'
mvn spring-boot:run -Dspring-boot.run.arguments='--server.port=8085'
mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8899 --your.custom.property=custom"
application.properties
如果名为 的文件中有任何变量PORT
,请运行以下命令:SERVER_PORT=9093 mvn spring-boot:run
使用java -jar
:
./gradlew clean build
. 我们将在:文件夹中找到 jar 文件build/libs/
。mvn clean install
:. 我们将在:文件夹中找到 jar 文件target
。java -jar myApplication. jar
java -jar myApplication.jar --port=8888
java -jar -Dserver.port=8888 myApplication.jar
SERVER_PORT
在 application.properties 文件中具有变量:SERVER_PORT=8888 java -jar target/myApplication.jar
小智 5
在 Spring Boot 应用程序中打开 application.properties 文件。并在属性文件中添加以下属性。
server.port = 1443
Run Code Online (Sandbox Code Playgroud)
这将工作正常,您可以根据您的意愿设置任何端口号。
归档时间: |
|
查看次数: |
680161 次 |
最近记录: |