Java Maven多线程构建问题

Java Maven多线程构建问题,java,multithreading,maven,junit4,hamcrest,Java,Multithreading,Maven,Junit4,Hamcrest,我继承了一个使用maven 3.6.2的项目。当我做一个测试时,它每次都编译得很好 mvn clean install 然而,当我试图加速构建并使其多线程化时 mvn -T C1 clean install 我得到了各种各样没有意义的东西。起初我认为这是一个依赖性问题,但我不这么认为 这是一个pom文件: <project <modelVersion>4.0.0</modelVersion> <artifactId>project-

我继承了一个使用maven 3.6.2的项目。当我做一个测试时,它每次都编译得很好

 mvn clean install
然而,当我试图加速构建并使其多线程化时

mvn -T C1 clean install
我得到了各种各样没有意义的东西。起初我认为这是一个依赖性问题,但我不这么认为

这是一个pom文件:

<project
    <modelVersion>4.0.0</modelVersion>
    <artifactId>project-components-hadoop</artifactId>
    <version>0.0.0.0_EXPERIMENTAL-VERSION</version>
    <name>project-hadoop</name>
    <packaging>jar</packaging>
    <parent>
        <groupId>com.mycompany</groupId>
        <artifactId>project-release-dependencies</artifactId>
        <version>0.0.0.0_EXPERIMENTAL-VERSION</version>
        <relativePath>../../project-core/project-release-dependencies</relativeP
ath>
    </parent>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
        ...
转储文件的内容包括:

java.lang.NoClassDefFoundError: org/junit/runner/notification/RunListener
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
        at java.lang.Class.getConstructor0(Class.java:3075)
        at java.lang.Class.getConstructor(Class.java:1825)
        at org.apache.maven.surefire.util.ReflectionUtils.getConstructor(ReflectionUtils.java:79)
这对我来说毫无意义。pom文件说junit(和hamcrest)是依赖项。这有时也能用,单线程也能用。maven中多线程的东西有多稳定


更重要的是,我错过了什么?难道它不能找到RunListener吗?

它是在不执行安装部分的情况下构建的吗?(您必须先删除本地缓存)。。。?通过
mvn-T 3清洁验证
?基于
。/../project core/project release dependencies
这似乎不是从项目的根目录调用的。对!
mvn verify
可以持续工作,但mvn安装不能(每次失败的方式不同)。。我正在从项目的根目录调用
mvn
。pom层次结构与目录层次结构不匹配,这就是为什么我在那里有
的东西,例如,上升两个,下降一个。这可能是我的问题吗?(我还注意到,如果我不进行
mvn安装
,那么我在这个项目中的所有其他POM在没有
东西的情况下都无法找到彼此。)如果必须使用
mvn安装
才能使用
mvn-T3清理验证
则您的构建中存在错误/缺失的依赖项或
mvn-T3清理验证
(使用clean cache)不起作用,但
mvn-T3 clean install
…也是一个症状..您的构建中还有其他很难识别的问题..有一个指向项目的链接在这里会有所帮助。它是否在不执行
install
部分的情况下构建?(您必须先删除本地缓存)…?通过
mvn-T 3 clean verify
?基于
。/../project core/project release dependencies
这看起来您不是从项目的根目录调用的?有趣。是的!
mvn verify
工作正常,但mvn安装不正常(每次失败的方式不同)…我正在从项目的根目录调用
mvn
。pom层次结构与目录层次结构不匹配,这就是为什么我在那里有
东西,例如上下两个。这可能是我的问题吗?(我还注意到,如果我不进行
mvn安装
,那么我在这个项目中的所有其他POM在没有
东西的情况下都无法找到彼此。)如果必须使用
mvn安装
才能使用
mvn-T3清理验证
则您的构建中存在错误/缺失的依赖项或
mvn-T3清理验证
(使用clean cache)不起作用,但是
mvn-T3 clean install
…也是一个症状..在您的构建中还有其他很难识别的问题..有一个到项目的链接在这里会有所帮助。
java.lang.NoClassDefFoundError: org/junit/runner/notification/RunListener
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
        at java.lang.Class.getConstructor0(Class.java:3075)
        at java.lang.Class.getConstructor(Class.java:1825)
        at org.apache.maven.surefire.util.ReflectionUtils.getConstructor(ReflectionUtils.java:79)