使用Heroku在本地部署Spring Boot应用程序的异常

每次运行时都会出现以下错误:'heroku local web'

.springframework.core.convert.ConversionFailedException:无法从类型[java.lang.String]转换为类型为'$ PORT'的类型[java.lang.Integer];嵌套异常是java.lang.NumberFormatException:对于输入字符串:“$ PORT”

我的Procfile看起来像这样:

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

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

我有一个Windows PORT系统环境变量,一个Heroku配置变量设置为'heroku config:set PORT = 8080' . 我独立设置了每一个,没有上述错误的变化 . 有谁知道为什么我得到这个?

回答(1)

2 years ago

在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