[英]Deploying multiple maven projects to heroku
我有多个 Maven 项目,如下面的结构所示。
.git
folder a -> contains main class and with jetty server.
|
main class
|
pom.xml
folder b
|
other implementation classes of interface present in folder c
|
pom.xml
folder c
|
Models(Pojo)
|
Controller(Rest Controller)
|
pom.xml
以上 3 个文件夹添加到类路径中,在本地环境中完美运行。 但是,当我尝试在 heroku 服务器中托管它时,由于以下原因,构建失败。
无法检测到此应用的默认语言。 远程:提示:当 Heroku 无法自动检测到用于此应用程序的 buildpack 时,会发生这种情况。 远程:参见https://devcenter.heroku.com/articles/buildpacks
我的 pom.xml 在子文件夹中,主类在文件夹 a 中。
我可以在根文件夹中再添加一个 pom.xml 并将其指向 foldera 的 pom.xml 吗? 或者我如何使用可执行 jar 来托管它?
请帮忙?
您需要在根目录下有一个pom.xml
,然后将其配置为将子目录作为模块。 它看起来像这样:
<modules>
<module>folder-a</module>
<module>folder-b</module>
<module>folder-c</module>
</modules>
您可能还需要在子模块中配置父 pom.xml。 有关更多信息,请参阅Maven 模块文档。
然后这取决于您是要构建所有这些子模块还是仅构建一个。 如果您想全部构建它们,请使用指向folder-a/target/myapp.jar
Procfile
folder-a/target/myapp.jar
或其他任何内容的java
命令将Procfile
添加到根目录。
如果您只想运行一个子模块,您仍然需要Procfile
,但您还需要通过运行以下命令将-pl
选项添加到 Maven:
$ heroku config:set MAVEN_CUSTOM_OPTS="-pl folder-a"
然后下次部署时,Heroku 将运行 maven,以便仅构建folder-a
的模块。
此错误消息意味着 Heroku 无法自动检测您尝试部署的应用程序类型:Ruby、Node、Python、PHP、Java 等。它会查找支持的每种语言的签名(例如 pom.xml 文件或 package.json 文件)。 这通常意味着一个重要的 package.json 文件没有被检入你的 git 存储库:
你应该 git add {file}, git commit -am ' added {file}' 然后 git push heroku master
更多信息:参考: https : //help.heroku.com/1MC2J0GF/why-does-my-app-fail-to-detect-a-buildpack
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.