在Heroku上部署多个模块java应用程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Heroku上部署多个模块java应用程序相关的知识,希望对你有一定的参考价值。

我有两个模块的多模块maven项目。每个模块都是一个弹簧休息服务(@RestController)。我已成功在localhost上运行服务,现在我想远程访问我的应用程序,所以我需要将模块发布到某个远程服务器。

我发现使用Heroku是一个好的开始方式。我阅读了一些教程,但没有完全理解一件事:我可以在一个Heroku应用程序中部署多个服务(如果是,我需要如何配置我的Procfile)或者我必须为我的应用程序的每个模块创建一个Heroku应用程序?或者可能有任何方法将多个模块打包到一个war / ear文件并用于部署?

为了以防万一,有我的顶级pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.nverapp</groupId>
<artifactId>nverapp</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
    <module>server</module>
    <module>auth_server</module>
</modules>

UPD

所以我发现了这个例子https://github.com/seeebiii/multi-module-heroku,但我不会动摇应用服务器如何处理启动moudle ChildTwo作为分离服务。有人可以解释这一刻吗?

答案

您需要创建两个应用程序,因为Heroku只允许每个应用程序使用一个Web进程类型。

您还需要使Procfile足够灵活,以便与两个模块一起使用。为此,我建议将JAR文件名放在config var中:

web: java -jar $JAR_FILE

您还可以使用MAVEN_CUSTOM_OPTS config var为每个应用程序设置-pl选项,以便仅构建您需要的内容。

以上是关于在Heroku上部署多个模块java应用程序的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:在 Heroku 上部署时没有名为“解耦”的模块

Heroku 上的 NPM 私有 git 模块

在 Heroku 上每次部署后避免 npm refresh

如何在Heroku上部署java gradle应用程序

Heroku 错误模块未找到 'json-server'

找不到模块“@storybook/react”或其相应的类型声明。在 Heroku 上