【发布时间】:2011-07-07 10:41:14
【问题描述】:
我曾经在我的项目上与 Hudson 合作,最近我不得不将其移至新服务器。
我以与以前完全相同的方式对其进行了配置(据我所知),但是当我尝试启动构建时,它失败并出现以下错误:
Démarré par l'utilisateur anonymous
Checking out http://[...]/trunk/MyProject/ear
A .classpath
A .project
A target
AU target/ear-1.0-SNAPSHOT.ear
A target/application.xml
A target/ear-1.0-SNAPSHOT
A target/ear-1.0-SNAPSHOT/META-INF
A target/ear-1.0-SNAPSHOT/META-INF/application.xml
AU target/ear-1.0-SNAPSHOT/web-1.0-SNAPSHOT.war
AU target/ear-1.0-SNAPSHOT/business-1.0-SNAPSHOT.jar
A pom.xml
A .settings
A .settings/org.eclipse.jdt.core.prefs
A .settings/org.maven.ide.eclipse.prefs
At revision 136
no change for http://[...]/trunk/MyProject/ear since the previous build
Found mavenVersion 3.0.2 from file jar:file:/usr/share/maven/apache-maven-3.0.2/lib/maven-core-3.0.2.jar!/META-INF/maven/org.apache.maven/maven-core/pom.properties
Parsing POMs
ERROR: Echec à la lecture des POMs
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM: Could not find artifact com.rha:MyProject:pom:1.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 9, column 10
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:325)
at hudson.maven.MavenEmbedder.buildProjects(MavenEmbedder.java:360)
at hudson.maven.MavenEmbedder.readProjects(MavenEmbedder.java:330)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1148)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:991)
at hudson.FilePath.act(FilePath.java:756)
at hudson.FilePath.act(FilePath.java:738)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:698)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:531)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:420)
at hudson.model.Run.run(Run.java:1362)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:405)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:145)
Finished: FAILURE
当我到达 Hudson“工作区”时的 pom.xml 文件如下所示:
[...]
<parent>
<groupId>com.rha</groupId>
<artifactId>MyProject</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
[...]
<dependencies>
<dependency>
<groupId>com.rha</groupId>
<artifactId>business</artifactId>
<version>1.0-SNAPSHOT</version>
<type>ejb</type>
</dependency>
<dependency>
<groupId>com.rha</groupId>
<artifactId>web</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
</dependency>
</dependencies>
</project>
[编辑]
其实我忘记了一些重要的信息:
我的项目分为三个部分:
业务(打包成.jar) web(打包成 .war) ear(将.war和.jar打包成.ear)
我正在使用 Subversion,在我的“主干”文件夹下,我有一个“MyProject”文件夹,其中包括:
.project
.settings/
business/
ear/
pom.xml
src/
web/
会发生什么:
在我的 Hudson 作业配置中,我在 SVN 字段“存储库 URL”中填写了:
http://[...]/trunk/MyProject/ear
这里是“MyProject”文件夹中的“pom.xml”:
<?xml version="1.0" encoding="UTF-8"?>
<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
[...]
<modules>
<module>business</module>
<module>web</module>
<module>ear</module>
</modules>
[...]
所以父“pom.xml”实际上位于我的SVN存储库的“../pom.xml”,在“trunk/MyFolder”下。
但 Hudson 出于某种原因看不到它(但就像我说的,它曾经在以前的服务器上工作过)。
有什么线索吗?
[/编辑]
我想这是一个菜鸟错误,我是 Maven 的初学者,但我就是不明白为什么它不再工作了......
任何帮助将不胜感激!
尼古拉斯
【问题讨论】:
-
那么你只有一个pom文件吗?如果你有对父 pom 文件的引用,你应该有两个。正确的?也不要检查svn中的目标目录。
-
@Amir Raminfar:查看我的编辑 =)
标签: build maven hudson parent pom.xml