SpringBoot 重复运行时 TomCat 端口被占用
首先这个问题要分为两种情况
第一种:普通启动,改端口就行(主要是为了不用8080端口)
在配置文件 application.properties或者xxx.yml中改掉端口号,以 application.properties为例,加入下面代码即可
server.port=8888
然后重启即可,但如果重启还是被占用,请看第二种
第二种:第二次启动springBoot的入口文件 xxxApplication.java时被占用
方案1:临时解决
首先,出现这种情况是因为,你第一次启动的进程没有关闭,此时你再启动,则会再追加开启一次相同进程,注意我说的是追加,不是替换或者重启,此时你只要关掉前一个就好,以MyEclipse为例,再console点击停止即可,如图:
1.remove launch
2.stop
经过以上两步即可临时解决
方案2:完美解决
在本地项目里的lib目录下(没有可以自己创建)引入 springloaded-1.2.8.RELEASE.jar ,然后修改run的配置
该jar包可在maven仓库官网搜索下载:https://mvnrepository.com
在 Program arguments 或者 VM arguments其一:键入以下指令
-javaagent:.\lib\springloaded-1.2.8.RELEASE.jar -noverify
点击应用,然后重新启动即可。
注:如果此方法不行,可把热部署方案添加进去再试,一般都没问题
最后附加热部署方案,每次改完代码,就不用重启了,刷新页面就好
附热部署方案:
在pom.xml文件中引入spring-boot-devtools和springloaded,然后重启项目于即可
这两个依赖可在maven仓库官网找到:https://mvnrepository.com
<!-- 热部署依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
</dependency>
重新对maven 进行update即可