我有一个在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。
答案 0 :(得分:0)
您需要添加一个
# HTTP Server
server:
port: 8080 # HTTP (Tomcat) port
在application.yaml文件中
答案 1 :(得分:0)
如果不起作用,请按照以下步骤操作,然后请显示服务器启动日志
在server.port=0
中添加applictaion.proporties
,如果tomcat start表示它已经选择了任何随机端口,则问题可能是您已将apache / IIS与ISS / Apache安装在同一台计算机上,使用默认端口80
如果您希望您的应用程序在端口80上运行,则使用server.port = 8080
或其他可以将端口转发到80的方法并在apache中进行设置。
答案 2 :(得分:0)
我没有找到问题的原因,但是我怀疑由于某种原因,Spring虽然在类路径中没有看到Tomcat,但是我定义它的方式可能存在问题我必须手动处理外部库,因为Maven无法在无法访问互联网的计算机上下载源。
最后,IT部门允许机器连接到Internet以允许Maven处理依赖关系,对机器进行病毒扫描并将其放回到生产线上。这解决了问题,并且Tomcat现在正在初始化。