java - 如何为 heroku 创建 procfile 文件?

标签 java heroku intellij-idea gradle procfile

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

target
  com
    x
     y
      Main.java

在 proc 文件中:

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

当我尝试 heroku local web 时,我得到“无法找到或加载主类 com.x.y.Main

但是,它就在那里。我使用的是 Windows。

最佳答案

Java 类路径分隔符与平台相关,对于 Windows 为 ;,对于 Unix 为 :

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

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

将使其在 Windows 上运行。

如果您在云(Unix)中部署的应用程序遇到此错误,则 target/classes 目录中不存在 com.x.y.Main 类。您可以通过运行 heroku run bashls -lR 并检查服务器上的目录/文件布局来验证这一点。

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

对于基于 Gradle 的项目,您需要调整类路径,因为它使用不同的布局 (build/classes) 或 build/libs 中的 jar 文件,see the guide for the details:

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

要使其在云和 Windows 上工作而无需每次都更改 Procfile,请使用 web: java -cp target/classes/;target/dependency/* com. x.y.Main 并在本地使用 heroku local web -f Procfile.windows 命令启动应用程序。

关于java - 如何为 heroku 创建 procfile 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42212111/

相关文章:

java - IntelliJ 中未出现 Struts Assistant 工具窗口

java - 多维 ArrayList 初始化

ruby-on-rails - Heroku 上的简单 Rails 应用程序性能

java - 动画完成后删除 View

ruby-on-rails - Rails.logger.error 未被 Logentries 插件识别为错误

java - 未生成数据库架构 : illegalargumentexception unknown entity on Play Framework 2. 4 + JPA Hibernate + Heroku

intellij-idea - IDEA IDE - 禁用对一个文件的检查

gradle - 创建新项目时未显示 IntelliJ Gradle 项目选项

java - 读取注解的属性

java - 第一次设置日期时的 JDatePicker 错误