运行时发生异常。 null:InvocationTargetException:配置为侦听端口8080的连接器无法启动 - > [帮助1]

时间:2017-08-08 02:00:07

标签: java spring oracle maven spring-boot

我正在使用Spring Tool Suite。我查看了STS的演示项目。在我今天在STS安装更新或最近安装了Oracle SQL Developer之前,它没有任何问题,工作正常。

重现我的错误的步骤:

在STS中,"文件" - > "新" - > "导入Spring入门内容",然后查看"构建RESTful Web服务"这个项目。 https://spring.io/guides/gs/rest-service/我转到我的项目文件夹,键入' mvnw spring-root:run' (我正在使用Windows)。然后得到了以下错误。

如果我今天在STS中安装了两个更新的错误,或者我最近安装了Oracle SQL Developer,我不会这样做。

这是错误:

  

[错误]无法执行目标org.springframework.boot:spring-boot-maven-plugin:1.5.6.RELEASE:在项目gs-rest-service上运行(default-cli):运行时发生异常。 null:InvocationTargetException:配置为侦听端口8080的连接器无法启动 - > [帮助1]

enter image description here

然后,我在这里检查了解决方案: https://stackoverflow.com/a/27416379/8229192

在我终止使用端口8080的任务后,它可以工作。

c:\>netstat -ano | find "8080"
 TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       3088
 TCP    [::]:8080              [::]:0                 LISTENING       3088
 c:\>taskkill /F /PID 3088
 SUCCESS: The process with PID 1196 has been terminated.

我的问题是:

  1. 为什么我会发生端口冲突?因为我安装了Oracle SQL Developer?我怎样才能准确知道哪个软件正在使用端口8080?

  2. 我想知道如果我杀死使用该端口8080的任务(A),这个任务(A)稍后运行会导致问题吗?

  3. 我已检查过其他项目(例如:https://spring.io/guides/gs/scheduling-tasks/)。我不需要杀死也使用端口8080的任务,我只是直接运行"mvnw spring-boot:run"。它工作,它没有端口号8080冲突。为什么?为什么有些人有端口8080冲突,为什么有些不是?这让我非常困惑。感谢。

1 个答案:

答案 0 :(得分:1)

  1. Oracle-XE OracleXETNSListener 服务,使用端口8080为其服务 Application Express
  2. 你杀了 OracleXETNSListener 服务,因为你没有任何问题 使用 SQL Developer 而非 Application Express 。或者您可以禁用其自动启动配置。
  3. Spring Boot的项目,服务于Web服务器,默认使用端口8080,您可以使用不同的端口Spring Boot - how to configure port运行,而https://spring.io/guides/gs/scheduling-tasks不是Web服务项目,因此它不使用任何端口。 / LI>

    希望这可以帮助你