Как сделать procfile для java сервера на героку?

Я провел день, пытаясь запустить сервер java xmpp fcm для обмена сообщениями в Google Firebase.
Следуя этому примеру, чтобы установить сервер на сервисе Heroku, я понял, что мне нужно создать файл procfile. Procfile это:

Procfile - это механизм для объявления команд, которые запускают динамо вашего приложения на платформе Heroku.

До сих пор я пытался запустить его с помощью таких команд:

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>

1 ответ

Решение

После нескольких часов боли наконец-то нашли подходящий Procfile для этого Java-сервера:

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

* Не забудьте собрать проект перед загрузкой с помощью:

mvn package
Другие вопросы по тегам