请问一下老师,为什么我使用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);
把这一行删了,不然程序相当于启动两次,自然就把端口占用了
512021-06-15
相似问题