我们正在努力使用Jenkins在签入代码时将AEM站点部署到我们的开发服务器。基础架构使用Jenkins配置和设置Maven,JDK和SVN。
我们有一个多模块项目。文件结构如下:
/ProjectFolder/
--------------/ProjectName/
--------------/ProjectName/pom.xml
--------------/ProjectName.core/
--------------/ProjectName.core/pom.xml
--------------/ProjectName.it.launcher/
--------------/ProjectName.it.launcher/pom.xml
--------------/ProjectName.it.tests/
--------------/ProjectName.it.tests/pom.xml
--------------/ProjectName.ui.apps/
--------------/ProjectName.ui.apps/pom.xml
--------------/ProjectName.ui.content/
--------------/ProjectName.ui.content/pom.xml
/ProjectName/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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ProjectName</groupId>
<artifactId>ProjectName</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
<description>ProjectName</description>
<modules>
<module>core</module>
<module>ui.apps</module>
<module>ui.content</module>
<module>it.tests</module>
<module>it.launcher</module>
</modules>
将Jenkins作业设置为从SVN提取并使用Maven发布时,它会找到根POM(ProjectName / pom.xml),但会失败并显示模块POM文件。生成以下输出:
ERROR: Failed to parse POMs
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\core of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\ui.apps of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\ui.content of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\it.tests of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\it.launcher of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @
任何人都可以提供一些有关这可能是什么问题的见解吗?
答案 0 :(得分:1)
更改父pom中的模块,如下所示 -
<modules>
<module>../ProjectName.core</module>
<module>../ProjectName.ui.apps</module>
<module>../ProjectName.ui.content</module>
<module>../ProjectName.it.tests</module>
<module>../ProjectName.it.launcher</module>
</modules>
另一个解决方案是保持pom不变并将模块文件夹移动到父文件夹中。即.-
/ProjectFolder/
--------/ProjectName/
--------------/core
--------------/it.launcher
--------------/it.tests
--------------/ui.apps
--------------/ui.content