Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Heroku上部署Spring Boot应用程序-构建成功,但:无法提供页面_Java_Spring_Spring Boot_Maven_Heroku - Fatal编程技术网

Java 在Heroku上部署Spring Boot应用程序-构建成功,但:无法提供页面

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"?> &

当我在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"?>
<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
env
var
中公开

您可以在日志
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