【问题标题】:Exception deploying Spring Boot app locally with Heroku使用 Heroku 在本地部署 Spring Boot 应用程序时出现异常
【发布时间】:2016-06-21 12:40:26
【问题描述】:

每当我运行时都会收到以下错误:'heroku local web'

.springframework.core.convert.ConversionFailedException:无法将值“$PORT”从类型 [java.lang.String] 转换为类型 [java.lang.Integer];嵌套异常是 java.lang.NumberFormatException: For input string: "$PORT"

我的 Procfile 看起来像这样:

web: java -Dserver.port=$PORT -jar build/libs/gs-spring-boot-0.1.0.jar

我能够部署到 heroku,但我希望能够在远程部署之前在本地运行以验证部署。

我有一个 Windows PORT 系统环境变量,以及一个使用“heroku config:set PORT=8080”设置的 Heroku 配置变量。我独立设置了每一个,上面的错误没有改变。有人知道我为什么会得到这个吗?

【问题讨论】:

  • 我也试过 'heroku local web -p 8080' 并得到同样的异常。一种解决方法是在 Procfile 中将 '$PORT' 替换为 '8080',但如果可能的话,我宁愿不这样做。

标签: java spring heroku spring-boot


【解决方案1】:

在 Windows 上,您需要引用 %PORT% 之类的环境变量,而不是 *nix 特有的 $ 表示法。

要解决此问题,您应该创建一个包含以下内容的 Procfile.windows 文件:

web: java -Dserver.port=%PORT% -jar build\libs\gs-spring-boot-0.1.0.jar

然后运行这个命令:

heroku local web -f Procfile.windows

【讨论】:

  • 我正在寻找这个。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2020-12-01
  • 2016-06-26
  • 2021-01-27
  • 2019-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-25
相关资源
最近更新 更多