Web服务器无法启动。端口8080已被使用

时间:2020-08-07 09:04:36

标签: java spring-boot tomcat server port

我正在尝试使用STS中的spring boot开发一个webapp。在运行我的应用程序时,我得到了

说明:

Web服务器无法启动。端口8080已被使用。

操作:

识别并停止正在端口8080或 配置此应用程序以侦听另一个端口。

我试图关闭端口8080的应用程序。我找到了该端口的PID,并使用终止了它

taskkill /F /PID pidname

我重新启动了STS,并尝试再次运行,但是它抛出了相同的错误。

2 个答案:

答案 0 :(得分:1)

如果某个操作系统线程获取了端口,则停止它会有些棘手。尽管它并不总是很好的解决方案,但是如果您仍然希望继续进行开发而没有任何问题,则可以使用此替代解决方案(就像您在开发环境中一样)。

这是您可以使用的另一种方式。您可以将Spring Boot服务器的默认端口替换为其他端口号。

对于服务器端口,属性为server.port

如果您使用的是application.properties文件:

server.port=8081

它将在端口8081上启动服务器。

类似地,如果使用application.yml文件,您也可以这样做:

server:
  port : 8081

每个文件如果放在Maven应用程序的src/main/resources目录中,就会由Spring Boot加载。

答案 1 :(得分:0)

您唯一的其他选项(除了使端口8080可用或使用其他端口进行春季启动)还在docker中运行应用程序:

在您的应用程序目录中创建一个Dockerfile

FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

在终端中运行

sudo docker build -t spring-app . && docker run -d -p 8080:8080 -t springapp

(这假设您已安装docker,如果没有,请进行安装)