Java 多模块maven项目的构建失败,但每个模块都成功构建

Java 多模块maven项目的构建失败,但每个模块都成功构建,java,spring,maven,jbehave,Java,Spring,Maven,Jbehave,我对多模块maven项目有一个奇怪的问题。它由几个模块(16个模块)组成,有三个模块无法一起成功构建(让我们将它们命名为A、B、C),因为C失败。当我从项目中删除模块A或B时,生成成功。当只构建A、B、C时,构建也会成功(我使用mvn-PLA、B、C干净安装)。最奇怪的是,只有在Mac上才能观察到这个问题。模块A、B、C中的每一个都由几个JBehave功能测试组成。故事由JBehaveMaven插件在集成测试阶段开始。每个故事都测试cargo maven插件部署的SOAP web服务。以下是jb

我对多模块maven项目有一个奇怪的问题。它由几个模块(16个模块)组成,有三个模块无法一起成功构建(让我们将它们命名为A、B、C),因为C失败。当我从项目中删除模块A或B时,生成成功。当只构建A、B、C时,构建也会成功(我使用mvn-PLA、B、C干净安装)。最奇怪的是,只有在Mac上才能观察到这个问题。模块A、B、C中的每一个都由几个JBehave功能测试组成。故事由JBehaveMaven插件在集成测试阶段开始。每个故事都测试cargo maven插件部署的SOAP web服务。以下是jbehave嵌入程序代码:

public class SampleEmbedder extends Embedder {

@Override
public EmbedderControls embedderControls() {
    return new EmbedderControls().doIgnoreFailureInStories(true).doIgnoreFailureInView(true);
}

@Override
public Configuration configuration() {
    Class<? extends SampleEmbedder> embedderClass = this.getClass();
    return new MostUsefulConfiguration()
               .useStoryLoader(new LoadFromClasspath(embedderClass.getClassLoader()))
               .useStoryReporterBuilder(new StoryReporterBuilder()
                                            .withCodeLocation(CodeLocations.codeLocationFromClass(embedderClass))
                                            .withDefaultFormats()
                                            .withFormats(CONSOLE, TXT, HTML, XML)
                                            .withCrossReference(new CrossReference()))
               .useParameterConverters(new ParameterConverters()
                                           .addConverters(new DateConverter(new SimpleDateFormat("yyyy-MM-dd")))) // use custom date pattern
               .useStepMonitor(new SilentStepMonitor())
               .usePendingStepStrategy(new FailingUponPendingStep()
               );
}

@Override
public InjectableStepsFactory stepsFactory() {
    return new SpringStepsFactory(configuration(), createContext());
}

private ApplicationContext createContext() {
    return new SpringApplicationContextFactory("spring/application-context.xml").createApplicationContext();
}
}
公共类SampleEmbedder扩展了Embedder{
@凌驾
公共EmbedderControls EmbedderControls(){
返回新的EmbedderControls();
}
@凌驾
公共配置(){

CLASS你运行并行构建吗?不,模块是一个接一个地构建的。第一步应该是从根开始执行
mvn clean package
,并请添加失败时获得的消息输出……该消息特定于测试,因为测试失败。我们在JMS队列中放入一条消息,并读取c中为null的答案失败的情况:
(java.lang.AssertionError:期望实际值不为空)
mvn clean package
由于未达到集成测试阶段,因此最终成功