![](/img/trans.png)
[英]How can I get PCF App Manager to display information about my detected as Spring Boot Application?
[英]Can't get Heroku to display my Spring Boot app
我正在尝试将带有 MySQL 数据库的 spring 引导应用程序部署到 Heroku。 该应用程序在我的本地服务器端口 8080 上运行,构建到 Heroku 成功,部署到 Heroku 成功,但是当我在 Heroku 上打开我的应用程序时,它只显示应用程序错误。
我怀疑它与 Heroku 分配的 ${PORT} 变量有关。 我研究了如何使用 spring 引导更改端口并将其添加到 Procfile 和 application.properties 文件中。 我还尝试了 system.properties 甚至是 a.env 文件,但都没有工作。 我还注释掉了与数据库相关的所有代码,因为如果不托管数据库,那将无法在 Heroku 上运行。 所以我真的只是想让基本的 GET 路径 / 和 /Greeting 工作。
heroku 日志 --tail:
2021-12-07T16:42:52.384694+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=doc2blog.herokuapp.com request_id=83fe491a-1560-4d09-ae64-a028688ddf0b fwd="41.113.231.2" dyno= connect= service= status=503 bytes= protocol=https
2021-12-07T16:42:53.265450+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=doc2blog.herokuapp.com request_id=b3a99f6a-1167-4358-a875-6874bee882b6 fwd="41.113.231.2" dyno= connect= service= status=503 bytes= protocol=https
我的档案:
web java -Dserver.port=$PORT $JAVA_OPTS -jar target/Doc2Blog-0.0.1-SNAPSHOT.jar
我的 application.properties 文件:
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword
spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driver
server.port=${PORT:8080}
#spring.jpa.show-sql: true
我的 system.properties 文件:
java.runtime.version=17
我的 POML.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.6.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>hyperion</groupId>
<artifactId>Doc2Blog</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Doc2Blog</name>
<description>Converts docs to blogposts</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
当我将 Spring 引导应用程序部署到 Heroku 时,我在 application.yml/application.properties 中将端口设置为 8080,并且不使用 Procfile。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.