我正在尝试使用STS中的spring boot开发一个webapp。在运行我的应用程序时,我得到了
说明:
Web服务器无法启动。端口8080已被使用。
操作:
识别并停止正在端口8080或 配置此应用程序以侦听另一个端口。
我试图关闭端口8080的应用程序。我找到了该端口的PID,并使用终止了它
taskkill /F /PID pidname
我重新启动了STS,并尝试再次运行,但是它抛出了相同的错误。
答案 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,如果没有,请进行安装)