如何配置Spring Boot应用程序侦听的TCP/IP端口,使其不使用默认端口8080。
当前回答
根据所使用的应用程序配置文件,有三种方法可以做到这一点
a)如果您正在使用应用程序。属性文件集
server.port = 8090
b)如果您正在使用应用程序。yml文件设置YAML格式的服务器端口属性,如下所示
server:
port: 8090
c)也可以在main方法中将属性设置为System属性
System.setProperty("server.port","8090");
其他回答
这招对我很管用:
增加了一个自定义容器类:
@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer configurableEmbeddedServletContainer) {
configurableEmbeddedServletContainer.setPort(8888);
}
}
但这仍然没有使用端口8888。
然后我设置“scanBasePackages”属性就像这样在“@SpringBootApplication”类上我的主要方法:(scanBasePackages ={"自定义容器包"})
@SpringBootApplication(scanBasePackages = {"com.javabrains.util"})
public class CourseApiApp {
public static void main (String args []) {
SpringApplication.run(CourseApiApp.class, args);
}
}
它开始拾取自定义容器中的端口集。
您可以通过在您的配置(基于java或xml)中覆盖EmbeddedServletContainerFactory bean来指定端口。在这里,您可以为所使用的嵌入式servlet容器指定端口。请参阅Spring Boot - Core“嵌入式Servlet容器支持”段落和示例。希望这能有所帮助。
您可以通过更改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
在spring引导中,您可以轻松地在应用程序中配置服务公开端口。属性文件。
server.port=portnumber
如果您没有专门设置端口,那么它将尝试使用端口80打开服务。如果它已经被使用,则嵌入容器上的服务将不会启动。
在Config文件或应用程序属性中配置端口详细信息。
e.g.
port =8876
推荐文章
- Docker -绑定0.0.0.0:4000失败:端口已经分配
- 到底是什么导致了堆栈溢出错误?
- 为什么Android工作室说“等待调试器”如果我不调试?
- Java:路径vs文件
- ExecutorService,如何等待所有任务完成
- Maven依赖Servlet 3.0 API?
- 本地机器上的PHP服务器?
- 如何在IntelliJ IDEA中添加目录到应用程序运行概要文件中的类路径?
- getter和setter是糟糕的设计吗?相互矛盾的建议
- Android room persistent: AppDatabase_Impl不存在
- Java的String[]在Kotlin中等价于什么?
- Intellij IDEA上的System.out.println()快捷方式
- 使用Spring RestTemplate获取JSON对象列表
- Spring JPA选择特定的列
- Node.js中的process.env.PORT是什么?