请问一下老师,为什么我使用Log代码后,我的程序起不来了

来源:2-5 启动日志优化

乐高战士

2021-06-13

我复制粘贴了老师的代码:

	private static final Logger LOG = LoggerFactory.getLogger(WikiApplication.class);

	public static void main(String[] args) {
		SpringApplication.run(WikiApplication.class, args);
		SpringApplication app = new SpringApplication(WikiApplication.class);
		Environment env = app.run(args).getEnvironment();
		LOG.info("启动成功!!");
		LOG.info("地址: \thttp://127.0.0.1:{}", env.getProperty("server.port"));
	}

并且在application.properties配置了server.port=8090
但是程序启动时报错:

462 INFO  com.hao.wiki.WikiApplication  :55   main Starting WikiApplication using Java 1.8.0_40 on XX01011 with PID ******************************************************
28.463 INFO  com.hao.wiki.WikiApplication  :660  main No active profile set, falling back to default profiles: default
28.602 INFO  o.s.b.w.e.t.TomcatWebServer   :108  main Tomcat initialized with port(s): 8090 (http)
28.603 INFO  o.a.c.http11.Http11NioProtocol:173  main Initializing ProtocolHandler ["http-nio-8090"]
28.603 INFO  o.a.c.core.StandardService    :173  main Starting service [Tomcat]
28.603 INFO  o.a.c.core.StandardEngine     :173  main Starting Servlet engine: [Apache Tomcat/9.0.39]
28.625 INFO  o.a.c.c.C.[.[localhost].[/]   :173  main Initializing Spring embedded WebApplicationContext
28.626 INFO  o.s.b.w.s.c.ServletWebServerApplicationContext:289  main Root WebApplicationContext: initialization completed in 161 ms
28.665 INFO  o.s.s.c.ThreadPoolTaskExecutor:181  main Initializing ExecutorService 'applicationTaskExecutor'
28.697 INFO  o.a.c.http11.Http11NioProtocol:173  main Starting ProtocolHandler ["http-nio-8090"]
28.700 WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:596  main Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.PortInUseException: Port 8090 is already in use
28.701 INFO  o.s.s.c.ThreadPoolTaskExecutor:218  main Shutting down ExecutorService 'applicationTaskExecutor'
28.702 INFO  o.a.c.http11.Http11NioProtocol:173  main Pausing ProtocolHandler ["http-nio-8090"]
28.703 INFO  o.a.c.core.StandardService    :173  main Stopping service [Tomcat]
28.707 INFO  o.a.c.http11.Http11NioProtocol:173  main Stopping ProtocolHandler ["http-nio-8090"]
28.708 INFO  o.a.c.http11.Http11NioProtocol:173  main Destroying ProtocolHandler ["http-nio-8090"]
28.711 INFO  o.s.b.a.l.ConditionEvaluationReportLoggingListener:136  main 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
28.727 ERROR o.s.b.d.LoggingFailureAnalysisReporter:40   main 

***************************
APPLICATION FAILED TO START
***************************

Description:

Web server failed to start. Port 8090 was already in use.

Action:

Identify and stop the process that's listening on port 8090 or configure this application to listen on another port.

我无论如何修改端口,都报一样的错误,即使我已经在启动前已确认没有程序使用该端口

写回答

1回答

FeiHuang

2021-06-13

SpringApplication.run(WikiApplication.class, args);

把这一行删了,不然程序相当于启动两次,自然就把端口占用了

5
1
甲蛙
点赞,点赞
2021-06-15
共1条回复

Spring Boot+Vue3前后端分离,实战wiki知识库系统

一课掌握前后端最火框架,更有职场竞争力

2524 学习 · 1671 问题

查看课程