多模块项目上的Maven站点无法解析依赖关系

多模块项目上的Maven站点无法解析依赖关系,maven,build,continuous-integration,hudson,multi-module,Maven,Build,Continuous Integration,Hudson,Multi Module,我想将我的持续集成工作(Hudson)分为两个步骤。(因为同时进行生成和报告的运行时花费的时间太长。) 在第一份工作中,我成功地用“mvn包”构建了我的多模块maven项目。 然后,我将我的工作区复制到另一个位置,并尝试仅使用目标“site”和/或findbugs/checkstyle/pmd再次构建项目以创建报告。 但这不管用!Maven无法解析子模块的依赖关系。 (但所有JAR都可以在其目标文件夹中使用。) 例如: 我的结构如下所示: 母公司 A B C D 项目C与项目B具有依赖关

我想将我的持续集成工作(Hudson)分为两个步骤。(因为同时进行生成和报告的运行时花费的时间太长。) 在第一份工作中,我成功地用“mvn包”构建了我的多模块maven项目。 然后,我将我的工作区复制到另一个位置,并尝试仅使用目标“site”和/或findbugs/checkstyle/pmd再次构建项目以创建报告。 但这不管用!Maven无法解析子模块的依赖关系。 (但所有JAR都可以在其目标文件夹中使用。)

例如: 我的结构如下所示:

  • 母公司
    • A
    • B
    • C
    • D
项目C与项目B具有依赖关系

当我用“mvn站点”构建所有内容时,它会为项目A和B生成所有报告。但在项目C处暂停,错误消息为“无法解析项目B的依赖项” 但是项目B已经用“mvn包”构建了。也就是说,我可以在项目B的目标文件夹中找到项目B的JAR文件

没有“mvn安装”,有没有办法解决子模块B的依赖关系? (我不想在我的ci服务器上执行此操作。我担心这可能会对具有相同代码库的其他作业造成危险。)

2012年8月20日更新:

根文件夹的POM:


4.0.0
福
福
酒吧
1
聚甲醛
父母亲
父POM:


4.0.0
福
福
父母亲
1
聚甲醛
../bar-a
../bar-b
../bar-c
../bar-d
[...]
org.codehaus.mojo
findbugs maven插件
2.5.1
[...]
org.apache.maven.plugins
maven pmd插件
2.7.1
[...]
org.apache.maven.plugins
maven checkstyle插件
2.9.1            
[...]
B的POM:


4.0.0
福
父母亲
1
../parent
酒吧B
酒吧
1
罐子
[...]
C的POM:


4.0.0
福
父母亲
1
../parent
棒C
巴-c
罐子
[...]
福
酒吧
1
[...]

我也面临着同样的“长时间”问题

用你的工作方式解决这个问题的唯一方法(我认为)确实是mvn安装,正如你所建议的那样

但问题确实在于,你在复制你的工作空间时试图有不同的行为。 相反,您应该考虑CI将根据需要(每次提交或每小时)构建和测试,但只报告一次(例如,每个午夜)。您将能够在夜间获得更快的连续构建、正确的文档和报告

这就是我们的工作方式,这已经足够了。我们使用jenkins,但我认为你可以用每一个CI软件触发它)


您也可以使用配置文件触发不同的行为,但这对于这样的基本用途来说太复杂了。

如果没有pom,很难猜测……但听起来好像依赖项/模块配置不正确。mvn clean站点应无错误运行。mvn clean包是否也无错误运行?是。“mvn clean package”运行时没有错误。“mvn清洁站点”不是。我稍后上载代码段。相关:
@hourly : mvn clean package (or install) --> from 1 to 5 minutes to run all test on all modules
@daily : mvn clean install site -->  from 15 to 35 minutes to run all test on all modules + doc + reports + PDF reports