Heroku - 无法找到maven child module pom

时间:2015-02-26 14:09:52

标签: java maven heroku

我在将一个多模块maven项目推向Heroku时遇到了一些麻烦(过去它的单个pom工作正常)。

我可以在本地构建它,但是在Heroku上我得到了:

-----> Java app detected
-----> Installing OpenJDK 1.8... done
-----> Executing: mvn -B -DskipTests=true clean install
       [INFO] Scanning for projects...
       [ERROR] The build could not read 1 project -> [Help 1]
       [ERROR]   
       [ERROR]   The project web-backend:0.3.3-SNAPSHOT (/tmp/build_f3314e49682a8616ea1531b46a5c5985/pom.xml) has 2 errors
   [ERROR]     Child module /tmp/build_f3314e49682a8616ea1531b46a5c5985/web of /tmp/build_f3314e49682a8616ea1531b46a5c5985/pom.xml does not exist
   [ERROR]     Child module /tmp/build_f3314e49682a8616ea1531b46a5c5985/web-task of /tmp/build_f3314e49682a8616ea1531b46a5c5985/pom.xml does not exist

那些pom.xml确实存在,我的结构是这样的:

main-project
--pom.xml (parent)
--web
----pom.xml
--web-task
----pom.xml

正如我所说,在本地构建它可以正常工作,它是heroku。

我的主要父母pom.xml:

<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.web</groupId>
    <artifactId>web-backend</artifactId>
    <version>0.3.3-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>web</module>
        <module>web-task</module>
    </modules>

    <properties>
        <java-version>1.8</java-version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
        <heroku.plugin.version>0.3.4</heroku.plugin.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

在每个子模块中,我也引用了父模块。如果需要,我也可以发布这些内容,但我认为这些问题还没有解决,因为它甚至没有被阅读。

2 个答案:

答案 0 :(得分:4)

检查所有pom.xml文件是否已检入Git,并检查目录名称是否与<module>元素的字符串值匹配(在Heroku上将是大小写的情况)敏感,但可能不在您的本地平台上)。

答案 1 :(得分:0)

我得到了同样的错误,检查上/下案例。