【问题标题】:Trouble deploying java web app to Heroku将 java web 应用程序部署到 Heroku 时遇到问题
【发布时间】:2017-05-03 21:25:35
【问题描述】:

我已经尝试将我的 java 应用程序部署到 Heroku 2 天了。 我所做的一切都与人们在他们的教程中所做的一样。但有些不对劲。 如何解决?

这里是 heroku 应用程序日志

2016-12-18T19:07:22.740701+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -cp target/dependency/jetty-runner.jar --port 37825 target/*.war`
2016-12-18T19:07:25.592632+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2016-12-18T19:07:25.599057+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx350m -Xss512k -Dfile.encoding=UTF-8
2016-12-18T19:07:25.599116+00:00 app[web.1]: Unrecognized option: --port
2016-12-18T19:07:25.599120+00:00 app[web.1]: Error: Could not create the Java Virtual Machine.
2016-12-18T19:07:25.599120+00:00 app[web.1]: Error: A fatal exception has occurred. Program will exit.
2016-12-18T19:08:20.220329+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=fathomless-journey-44108.herokuapp.com request_id=229e3557-e7c8-4084-9000-c14e7b0128ad fwd="109.201.209.187" dyno= connect= service= status=503 bytes=
2016-12-18T19:08:20.956253+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=fathomless-journey-44108.herokuapp.com request_id=fe14db1e-c45f-4d80-9e47-d18e9d3d544d fwd="109.201.209.187" dyno= connect= service= status=503 bytes=

插件在我的 pom.xml 中

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.4</version>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>package</phase>
                    <goals><goal>copy</goal></goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>org.eclipse.jetty</groupId>
                                <artifactId>jetty-runner</artifactId>
                                <version>9.2.7.v20150116</version>
                                <destFileName>jetty-runner.jar</destFileName>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>

和 Procfile

web: java $JAVA_OPTS -cp target/dependency/jetty-runner.jar --port $PORT target/*.war

【问题讨论】:

  • "2016-12-18T19:07:25.599116+00:00 app[web.1]: Unrecognized option: --port" - 阅读错误信息。
  • 我明白了,但我不知道如何解决它。谷歌对此一无所知
  • 什么都没有?我不信。 devcenter.heroku.com/articles/java-support
  • 试试这个:java -Dserver.port=$PORT $JAVA_OPTS -jar target*.jar。 Java 不是 node.js。
  • 是的。我几分钟前读过它,但对我没有帮助。对不起。

标签: java heroku deployment


【解决方案1】:

到目前为止,我只在没有插件的免费帐户中部署了 node.js 应用程序。而我必须做的是采用 heroku 分配的端口,而不是您似乎指定的静态端口

--port 37825

也许这就是问题所在?该错误似乎与端口有关。尝试谷歌搜索“动态端口 heroku java”

【讨论】:

    【解决方案2】:

    您的Procfile 应该是:

    web: java $JAVA_OPTS -jar target/dependency/jetty-runner.jar --port $PORT target/*.war
    

    注意-jar 而不是-cp

    【讨论】:

    • 如何使用 -javaagent:heroku-javaagent-2.0.jar=stdout=true,lxmem=true 选项?
    猜你喜欢
    • 2016-08-27
    • 2021-04-21
    • 2019-09-06
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 2021-11-08
    • 2011-08-30
    • 1970-01-01
    相关资源
    最近更新 更多