Heroku - 找不到 maven child 模块 pom
Heroku - Can't find maven child module pom
我在将 multi-module 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。
我的主要parentpom.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>
在每个子模块中,我也引用了 parent。如果需要,我也可以 post,但我认为这些还不是问题,因为它甚至还没有被阅读。
检查您的所有 pom.xml
文件是否已签入 Git,并检查目录名称的大小写是否与 <module>
元素的字符串值中的大小写匹配(在 Heroku 上它将区分大小写,但它可能不在您的本地平台上)。
我遇到了同样的错误,检查 upper/lower 个案例。
我在将 multi-module 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。
我的主要parentpom.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>
在每个子模块中,我也引用了 parent。如果需要,我也可以 post,但我认为这些还不是问题,因为它甚至还没有被阅读。
检查您的所有 pom.xml
文件是否已签入 Git,并检查目录名称的大小写是否与 <module>
元素的字符串值中的大小写匹配(在 Heroku 上它将区分大小写,但它可能不在您的本地平台上)。
我遇到了同样的错误,检查 upper/lower 个案例。