Java 将多个maven项目部署到heroku

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

我有多个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无法自动检测用于此应用程序的构建包时,会发生这种情况。 遥控器:参见

我的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"