java - 如何在heroku上为java服务器制作procfile?

标签 java heroku server xmpp procfile

我花了一天时间尝试运行 java xmpp fcm 服务器来进行 Google Firebase 消息传递。
接下来example为了在 Heroku 服务上建立服务器,我发现我需要创建 procfile 文件。 Procfile是:

A Procfile is a mechanism for declaring what commands are run by your application’s dynos on the Heroku platform.

到目前为止,我尝试使用以下命令启动它:

web: java -cp target/classes/:target/dependency/* com.wedevol.xmpp.server.CcsClient 

但是它不起作用。 $heroku 日志:

2017-01-31T13:14:50.844896+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=vast-forest-64025.herokuapp.com request_id=a8a8b191-3679-4746-abf3-c7766fbb8764 fwd="141.226.161.218" dyno= connect= service= status=503 bytes=

$heroku ps 返回:

=== web (Free): java -cp target/classes/:target/dependency/* com.wedevol.xmpp.server.CcsClient (1) web.1: crashed 2017/01/31 15:13:08 +0200 (~ 5m ago)

我需要你的帮助。我需要在该文件中定义什么才能成功运行 Java 服务器(来自上面的链接)。 谢谢!

有关其他信息,原始 POM 文件如下所示:

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.wedevol</groupId>
<artifactId>xmppserver2</artifactId>
<version>0.0.2</version>
<packaging>jar</packaging>

<name>FCM XMPP Server</name>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <jdk.version>1.7</jdk.version>
</properties>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.igniterealtime.smack</groupId>
        <artifactId>smack-java7</artifactId>
        <version>4.1.8</version>
    </dependency>
    <dependency>
        <groupId>org.igniterealtime.smack</groupId>
        <artifactId>smack-tcp</artifactId>
        <version>4.1.8</version>
    </dependency>
    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
    </dependency>
</dependencies>

<build>
    <finalName>xmpp-server</finalName>
    <plugins>

        <!-- Set a JDK compiler level -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

    </plugins>
</build>

最佳答案

经过几个小时的痛苦终于得到了该 Java 服务器的正确 Procfile:

web: java -cp target/classes/:target/dependency/* com.wedevol.xmpp.EntryPoint

*不要忘记在上传之前构建项目:

mvn package

关于java - 如何在heroku上为java服务器制作procfile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41882094/

相关文章:

heroku - 当我的应用程序遇到内部错误时如何触发电子邮件警报?

node.js - 如何扩展使用其他服务的 Node.js 服务?

django - 如何限制连接到一个端口并将其他请求重定向到另一个端口?

wordpress - 在 Google 搜索结果中显示的服务器 IP 地址而不是域

java - Java中的简单计算问题

java - 将图像旋转 90 度或倍数的更快方法

java - UML有什么用?

postgresql - 使用 play-slick 时与 heroku postgres 的间歇性连接失败

javascript - nodemailer 登录无效 : 535 Authentication Failed

java.lang.NullPointerException 如何修复