首页 > 解决方案 > Heroku 找不到工人

问题描述

https://devcenter.heroku.com/articles/run-non-web-java-processes-on-heroku

我按照上面的教程在heroku上部署了我的应用程序。当我将代码打包到我的 IDE(intelliJ IDEA)中时,一切正常。创建一个目标文件夹,其中有一个名为 bin 的子文件夹,它包含两个文件:worker 和 worker.bat

从我的根目录,如果我运行命令,sh target/bin/worker那么应用程序将正确执行并且需要。

另一方面,在我将代码推送到 heroku 并使用命令后:

heroku ps:scale worker=1

我收到此错误:-

sh: 0: Can't open target/bin/worker
Process exited with status 127
State changed from up to crashed

我的 POM.xml 与教程中的完全相同,只是有一些额外的依赖项。

问题是什么,如何解决?

POM.xml:-

<dependencies>
....
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>appassembler-maven-plugin</artifactId>
            <version>1.1.1</version>
            <configuration>
                <assembleDirectory>target</assembleDirectory>
                <programs>
                    <program>
                        <mainClass>MainClass</mainClass>
                        <name>worker</name>
                    </program>
                </programs>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>assemble</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>

在运行 mvn 包之前 运行 mvn 包后

标签: javamavenheroku

解决方案


推荐阅读