当前位置: 首页 > 知识库问答 >
问题:

如何为heroku创建procfile文件?

訾晋
2023-03-14

我正在尝试将Heroku与Java结合使用,我有这个目录结构,我正在使用IntelliJ:

target
  com
    x
     y
      Main.java

在程序文件中:

web: java -cp target/classes/;target/dependency/* com.x.y.Main

当我尝试heroku本地网站时,我得到“无法找到或加载主类com.x.y.main

然而,它确实存在。我在用Windows。

共有1个答案

赖星驰
2023-03-14

Java类路径分隔符依赖于平台,适用于Windows,而适用于Unix。

如果您试图在Windows上运行heroku local,您的命令将失败,并显示您发布的消息。将其替换为:

web:java-cp-target/classes/;target/dependency/*com。x、 y.Main

将使其在Windows上运行。

如果你在云中部署的应用程序(即Unix)中出现此错误,那么就没有com。x、 y.Mainclass位于target/classes目录中。您可以通过运行heroku run bashls-lR并检查服务器上的目录/文件布局来验证这一点。

如果在Windows上运行,请确保运行mvn clean install,将源代码编译到target/classes目录中。

对于基于Gradle的项目,您需要调整类路径,因为它使用不同的布局(build/classes)或build/libs中的jar文件,有关详细信息,请参阅指南:

web:java-jar-build/libs/myprojectname-1.0-SNAPSHOT。jar

要使其在云中和Windows上工作,而不每次都更改Procfile,请使用web: java-cp目标/类/;目标/依赖/*com. x. y Main创建Procfile.windows,并在本地使用heroku本地web-f Procfile.windows命令启动应用程序。

 类似资料:
  • 问题内容: 我正在按照这里的指示 http://blog.heroku.com/archives/2011/8/29/play/ 但是我这样做,但是找不到procfile。 如何显式创建procfile? 说明似乎表明我应在应用运行时推送至。我读错了吗? 我在哪里可以指定并为mydomain.herokuapp.com? 仅修改application.conf中的值更好吗? 问题答案: 您需要在项

  • 我的应用程序在本地运行得非常好,并与Heroku一起部署,但我正在努力构建一个Procfile,声明启动应用程序应该执行什么命令。我是一名新开发人员,在Linux进程模型如何工作方面需要一些帮助。 Heroku留档为JavaSpring Boot项目提供了两个Procfile示例: 我决定尝试遵循-cp示例,因为我没有。jar文件。 这是我当前的文件: procfile 在最近的一次开发人员访谈中

  • 问题内容: 如何修改Procfile在Heroku的非标准文件夹中运行Gunicorn进程?我是Heroku和Gunicorn的新手,所以我不确定这是如何工作的。但是我已经进行了一些搜索,我认为我即将部署Django应用(1.5.1)。所以我知道我需要一个Procfile 因为我的目录有些不同。我无法在根目录中运行gunicorn 通常,app /将是根目录,但是我决定以这种方式来构造文件夹,以将

  • 问题内容: 在纯Java6中为大型文件创建SHA-1的最佳方法是什么?如何实现此方法: 问题答案: 使用类并逐个提供数据。下面的示例忽略了诸如将byte []转换为字符串并关闭文件之类的细节,但是应该给了您大致的理解。

  • 我对heroku和gunicorn不熟悉,所以我不知道这是如何工作的。但是我已经做了一些搜索,我想我已经接近部署我的Django应用程序(1.5.1)。所以我知道我需要一个有 因为我的目录有点不同。我无法在根目录中运行gunicorn 通常app/是根目录,但我决定用这种方式来组织我的文件夹,以便将我的django应用程序与其他一些东西分开。因为我必须将Procfile放在根目录中,heroku才

  • 我想为我的jar文件创建一个windows安装程序。我不想在要部署到的目标计算机上安装jre/jdk。 我试用了jpackage(Java 14的一部分),但它对我不起作用。我尝试了以下命令: