Java 将多个maven项目部署到heroku
我有多个maven项目,如下面的结构所示Java 将多个maven项目部署到heroku,java,maven,heroku,Java,Maven,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 f
.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无法自动检测用于此应用程序的构建包时,会发生这种情况。
遥控器:参见
我的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>
然后下次部署时,Heroku将运行maven,以便只构建
文件夹-a
中的模块。此错误消息意味着Heroku无法自动检测您尝试部署的应用程序类型:Ruby、Node、Python、PHP、Java等。它会查找支持的每种语言的签名(如pom.xml文件或package.json文件)。这通常意味着package.json这一重要文件不会签入git存储库:
您应该使用git添加{file},git提交-am'added{file},然后使用git推送heroku master
更多信息:ref:您是否定义了procfile?如果是,请发布它。感谢您的回复!web:java$java_OPTS-cp target/classes:target/dependency/*Svmapp此处Svmapp是主类名procfile应该在r中oot文件夹,您需要将子目录添加到-cp参数中,例如
web:java$java\u OPTS-cp/a/target/classes:target/dependency/*
,那么就不需要提及主类了,是吗?是的,我想还有主类。
$ heroku config:set MAVEN_CUSTOM_OPTS="-pl folder-a"