Spring Boot 2.0应用程序正在运行,但无法在Windows计算机上的端口8080上访问它

时间:2018-09-12 09:18:17

标签: spring-boot

我有一个在Mac上开发的并且可以正常运行的spring boot项目。我正在将应用程序迁移到制造计划中的机器上,该计划没有互联网访问权限,并且没有严格的安全策略。

我们已经安装了IntelliJ和Java10,并在整个项目中进行了复制,并尝试在IntelliJ中运行它。当控制台输出确认应用程序正在运行时;

“在3.875秒内启动了VisualizationApplication(JVM运行于5.053)”

控制台中仅出现一个错误,我不确定是否与该问题有关;

警告:发生了非法的反射访问操作 警告:org.codehause.groovy.reflection.CachedClass的非法反射访问

我试图通过将spring.port = 80添加到我的application.configuration文件中来设置Spring Boot使用端口80,但这是行不通的,并且在应用程序启动时我也没有看到Spring的确认信息,以确认该应用程序正在该端口上运行(我以前曾经看过它)。

更新:

我已经将IntelliJ中的应用程序降级为使用Java 8,显然Groovy软件包使用了很多反射,而Java 9+更加严格。该错误现在已经消失,但是出现了相同的问题。

一旦我确实注意到,昨天当我第一次尝试运行该应用程序时,计算机说它需要Java和IntelliJ某些功能的额外特权,我单击了取消,因为我没有任何人拥有管理员凭据。这会导致问题,也许不允许Java访问网络吗?此后,我们已授予用户管理员访问权限,但无法解决问题。

更新2

看来Spring尚未初始化Tomcat。

3 个答案:

答案 0 :(得分:0)

您需要添加一个

# HTTP Server
server:
  port: 8080   # HTTP (Tomcat) port

在application.yaml文件中

答案 1 :(得分:0)

如果不起作用,请按照以下步骤操作,然后请显示服务器启动日志

  1. server.port=0中添加applictaion.proporties,如果tomcat start表示它已经选择了任何随机端口,则问题可能是您已将apache / IIS与ISS / Apache安装在同一台计算机上,使用默认端口80

  2. 如果您希望您的应用程序在端口80上运行,则使用server.port = 8080或其他可以将端口转发到80的方法并在apache中进行设置。

答案 2 :(得分:0)

我没有找到问题的原因,但是我怀疑由于某种原因,Spring虽然在类路径中没有看到Tomcat,但是我定义它的方式可能存在问题我必须手动处理外部库,因为Maven无法在无法访问互联网的计算机上下载源。

最后,IT部门允许机器连接到Internet以允许Maven处理依赖关系,对机器进行病毒扫描并将其放回到生产线上。这解决了问题,并且Tomcat现在正在初始化。