避免硬编码 Heroku Procfile jar 名称?

Avoid hard coding Heroku Procfile jar name?

我的 Spring 启动应用程序的项目结构不同于默认的 target/<my-jar-file-name>.jar 可运行 jar 路径。

我的文件位于 backend/target/<my-jar-file-name>.jar

解决方案是创建一个 Heroku Procfile:

web: java -jar backend/target/backend-0.0.1-SNAPSHOT.jar

但是鉴于此,每次我更新我的程序版本时,这个文件也必须更新。

是否有任何自动处理此问题的方法?

您有两个选择:

首先,您可以在 Procfile:

中使用通配符
web: java -jar backend/target/backend-*.jar

但根据您的构建方式,可能会匹配多个文件。

第二个选项是在 pom.xml 中命名没有版本的可执行文件。您可以使用 finalName 元素执行此操作,例如:

<build>
    <finalName>backend</finalName>