在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应用程序的主要内容,如果未能解决你的问题,请参考以下文章