Java 在Heroku上部署Spring Boot应用程序-构建成功,但:无法提供页面
当我在IntelliJ或cli中使用Java 在Heroku上部署Spring Boot应用程序-构建成功,但:无法提供页面,java,spring,spring-boot,maven,heroku,Java,Spring,Spring Boot,Maven,Heroku,当我在IntelliJ或cli中使用$java-jar demo-0.0.1-SNAPSHOT.jar启动spring boot应用程序/服务器时,它在本地工作,heroku构建也成功,但当我转到url时,它会显示应用程序错误。你知道heroku为什么不展示我的网站吗 我已经完成了在其他stackoverflow问题()中找到的提示: 1.我确保java版本是相同的: 在my pom.xml文件中: <?xml version="1.0" encoding="UTF-8"?> &
$java-jar demo-0.0.1-SNAPSHOT.jar
启动spring boot应用程序/服务器时,它在本地工作,heroku构建也成功,但当我转到url时,它会显示应用程序错误
。你知道heroku为什么不展示我的网站吗
我已经完成了在其他stackoverflow问题()中找到的提示:1.我确保java版本是相同的: 在my pom.xml文件中:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org
/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-
4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version> <!-- =HERE is version 11 -->
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
你就快到了
Heroku dynos为您的应用程序提供了一个可绑定的动态端口。此值在$PORT
envvar
中公开
您可以在日志8080
8090
中看到它
因此,请更新您的Procfile
以如下方式绑定到此端口:
web: java -Dserver.port=$PORT $JAVA_OPTS -jar target/demo-0.0.1-SNAPSHOT.jar
日志显示heroku正在检查应用程序的状态(运行状况检查):
eroku[web.1]:状态从开始更改为崩溃2020-05-16T12:29:57.005306+00:00 heroku[web.1]:状态从崩溃更改为启动
,根据代码,您的应用程序不包含运行状况检查,该检查会告诉heroku您的应用程序运行良好…好的,谢谢,我添加了执行器,现在显示状态:启动。但它对heroku仍然不起作用。入门示例也没有包括健康检查,不是吗?我发现了另一件事。当我运行“mvn部署”时,它失败了,并说我没有添加distributionManagement。因此,我在没有真正理解的情况下添加了pom.xml:false corp1 Corporate Repository)那里需要什么存储库?我认为您应该查看heroku的文档,了解如何配置应用程序部署。我认为问题只是heroku没有意识到你的应用程序启动正确,只是重试了几次,然后就关闭了。部署/分发管理不是这里的问题。
web: java -Dserver.port=$PORT $JAVA_OPTS -jar target/demo-0.0.1-SNAPSHOT.jar