[ 
https://issues.apache.org/jira/browse/SUREFIRE-1632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jim Kaib updated SUREFIRE-1632:
-------------------------------
    Description: 
Base configuration:
 * Windows 10
 * Maven 3.6.0
 * Mixed Java 8 and Scala 2.11.8
 * JMockit 

I'm trying update my SureFire configuration in a multi-module project from:
 * SureFire 2.20
 * JUnit 5.01

to:
 * SureFire 2.22.1
 * JUnit 5 1.3.2

This is the SureFire configuration I've come up with:
{code:xml}
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.1</version>
        <configuration>
                <forkCount>2</forkCount>
                <threadCount>2</threadCount>
                <reuseForks>true</reuseForks>
                
                <!-- The '-XX:-TieredCompilation -Xint' args are used to 
compensate for a JDK defect that -->
                <!-- impacts the performance of the JMockit API.  Oracle will 
add the fix to Java 9, so   -->
                <!-- when the application is upgraded to use that version, 
these settings should be       -->
                <!-- revisited.                                                 
                          -->
                <!-- 
(https://groups.google.com/forum/#!msg/jmockit-users/MCm97zsjjd4/ZzSu9gusu8IJ)  
     -->
                <!-- Sets the VM argument line used when unit tests are run. -->
                <argLine>-XX:-TieredCompilation -Xint 
-javaagent:${org.jmockit:jmockit:jar}     @{surefireArgLine} -server</argLine>
                <includes>
                        <include>**/*Suite.class</include>
                        <include>**/*Test.class</include>
                        <include>**/*Tests.class</include>
                        <include>**/*Spec.class</include>
                        <include>**/*Specs.class</include>
                </includes>
                <excludes>
                        <exclude>**/*ITest.class</exclude>
                </excludes>
                <properties>
                        <configurationParameters>
                                junit.jupiter.execution.parallel.enabled=true
                                
junit.jupiter.execution.parallel.config.strategy=dynamic
                        </configurationParameters>
                        <property>
                                <name>listener</name>
                                
<value>org.evosuite.runtime.InitializingListener</value>
                        </property>
                </properties>
        </configuration>
</plugin>
{code}
When I run the multi-module build (mvn test), the second module fails with the 
error:
{noformat}
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05:52 min
[INFO] Finished at: 2019-01-30T13:09:43-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on 
project guardians: Execution default-test of goal 
org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test failed: A required 
class was missing while executing 
org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test: 
org/apache/maven/surefire/report/ConsoleOutputReceiver
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.apache.maven.plugins:maven-surefire-plugin:2.22.1
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/plugins/maven-surefire-plugin/2.22.1/maven-surefire-plugin-2.22.1.jar
[ERROR] urls[1] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/maven-surefire-common/2.22.1/maven-surefire-common-2.22.1.jar
[ERROR] urls[2] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5.2/maven-plugin-annotations-3.5.2.jar
[ERROR] urls[3] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/surefire-api/2.22.1/surefire-api-2.22.1.jar
[ERROR] urls[4] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/surefire-logger-api/2.22.1/surefire-logger-api-2.22.1.jar
[ERROR] urls[5] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/surefire-booter/2.22.1/surefire-booter-2.22.1.jar
[ERROR] urls[6] = 
file:/C:/Users/starlord/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar
[ERROR] urls[7] = 
file:/C:/Users/starlord/.m2/repository/junit/junit/4.12/junit-4.12.jar
[ERROR] urls[8] = 
file:/C:/Users/starlord/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
[ERROR] urls[9] = 
file:/C:/Users/starlord/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
[ERROR] urls[10] = 
file:/C:/Users/starlord/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar
[ERROR] urls[11] = 
file:/C:/Users/starlord/.m2/repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
[ERROR] urls[12] = 
file:/C:/Users/starlord/.m2/repository/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar
[ERROR] urls[13] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
[ERROR] urls[14] = 
file:/C:/Users/starlord/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[15] = 
file:/C:/Users/starlord/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[16] = 
file:/C:/Users/starlord/.m2/repository/org/codehaus/plexus/plexus-java/0.9.10/plexus-java-0.9.10.jar
[ERROR] urls[17] = 
file:/C:/Users/starlord/.m2/repository/org/ow2/asm/asm/6.2/asm-6.2.jar
[ERROR] urls[18] = 
file:/C:/Users/starlord/.m2/repository/com/thoughtworks/qdox/qdox/2.0-M8/qdox-2.0-M8.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------
[ERROR] : org.apache.maven.surefire.report.ConsoleOutputReceiver
[ERROR] -> [Help 1]{noformat}
though if I build the module by itself, everything passes. I repeated the steps 
in debug mode and saw the missing dependency wasn't being added to the 
in-process classpath during the multi-module build:
 * {{[DEBUG] in-process(compact) classpath: surefire-junit-platform-2.22.1.jar 
surefire-logger-api-2.22.1.jar maven-surefire-common-2.22.1.jar}}

yet it was on the single module build:
 * {{[DEBUG] in-process(compact) classpath: surefire-junit-platform-2.22.1.jar 
surefire-logger-api-2.22.1.jar maven-surefire-common-2.22.1.jar 
surefire-api-2.22.1.jar}}

Lastly, I can see the {{AbstractSureFireMojo.resolveArtifact}} method adding 
the surefire-logger-api-2.22.1.jar to the classpath during a single module 
build:
{noformat}
[DEBUG] dummy:dummy:jar:1.0 (selected for null)
[DEBUG] org.apache.maven.surefire:surefire-booter:jar:2.22.1:compile (selected 
for compile)
[DEBUG] org.apache.maven.surefire:surefire-api:jar:2.22.1:compile (selected for 
compile)
[DEBUG] org.apache.maven.surefire:surefire-logger-api:jar:2.22.1:compile 
(selected for compile)
[DEBUG] Adding to surefire booter test classpath: 
C:\Users\starlord\.m2\repository\org\apache\maven\surefire\surefire-booter\2.22.1\surefire-booter-2.22.1.jar
 Scope: compile
[DEBUG] Adding to surefire booter test classpath: 
C:\Users\starlord\.m2\repository\org\apache\maven\surefire\surefire-api\2.22.1\surefire-api-2.22.1.jar
 Scope: compile
[DEBUG] Adding to surefire booter test classpath: 
C:\Users\starlord\.m2\repository\org\apache\maven\surefire\surefire-logger-api\2.22.1\surefire-logger-api-2.22.1.jar
 Scope: compile{noformat}

but not the multi-module build.

I think this issue is similar to SUREFIRE-1520, though I am not using the 
deprecated JUnit 5 SureFire provider. I've set the priority as minor because I 
can work around it by manually adding the {{surefire-api-2.22.1.jar}} 
dependency to my parent POM.  I can also use the default {{forkCount}} of one, 
though the build is of course much slower.

If you see something I could do better in my configuration, please let me know.

  was:
Base configuration:
 * Windows 10
 * Maven 3.6.0
 * Mixed Java 8 and Scala 2.11.8
 * JMockit 

I'm trying update my SureFire configuration in a multi-module project from:
 * SureFire 2.20
 * JUnit 5.01

to:
 * SureFire 2.22.1
 * JUnit 5 v1.3.2

This is the SureFire configuration I've come up with:
{code:xml}
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.1</version>
        <configuration>
                <forkCount>2</forkCount>
                <threadCount>2</threadCount>
                <reuseForks>true</reuseForks>
                
                <!-- The '-XX:-TieredCompilation -Xint' args are used to 
compensate for a JDK defect that -->
                <!-- impacts the performance of the JMockit API.  Oracle will 
add the fix to Java 9, so   -->
                <!-- when the application is upgraded to use that version, 
these settings should be       -->
                <!-- revisited.                                                 
                          -->
                <!-- 
(https://groups.google.com/forum/#!msg/jmockit-users/MCm97zsjjd4/ZzSu9gusu8IJ)  
     -->
                <!-- Sets the VM argument line used when unit tests are run. -->
                <argLine>-XX:-TieredCompilation -Xint 
-javaagent:${org.jmockit:jmockit:jar}     @{surefireArgLine} -server</argLine>
                <includes>
                        <include>**/*Suite.class</include>
                        <include>**/*Test.class</include>
                        <include>**/*Tests.class</include>
                        <include>**/*Spec.class</include>
                        <include>**/*Specs.class</include>
                </includes>
                <excludes>
                        <exclude>**/*ITest.class</exclude>
                </excludes>
                <properties>
                        <configurationParameters>
                                junit.jupiter.execution.parallel.enabled=true
                                
junit.jupiter.execution.parallel.config.strategy=dynamic
                        </configurationParameters>
                        <property>
                                <name>listener</name>
                                
<value>org.evosuite.runtime.InitializingListener</value>
                        </property>
                </properties>
        </configuration>
</plugin>
{code}
When I run the multi-module build (mvn test), the second module fails with the 
error:
{noformat}
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05:52 min
[INFO] Finished at: 2019-01-30T13:09:43-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on 
project guardians: Execution default-test of goal 
org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test failed: A required 
class was missing while executing 
org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test: 
org/apache/maven/surefire/report/ConsoleOutputReceiver
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.apache.maven.plugins:maven-surefire-plugin:2.22.1
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/plugins/maven-surefire-plugin/2.22.1/maven-surefire-plugin-2.22.1.jar
[ERROR] urls[1] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/maven-surefire-common/2.22.1/maven-surefire-common-2.22.1.jar
[ERROR] urls[2] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5.2/maven-plugin-annotations-3.5.2.jar
[ERROR] urls[3] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/surefire-api/2.22.1/surefire-api-2.22.1.jar
[ERROR] urls[4] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/surefire-logger-api/2.22.1/surefire-logger-api-2.22.1.jar
[ERROR] urls[5] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/surefire-booter/2.22.1/surefire-booter-2.22.1.jar
[ERROR] urls[6] = 
file:/C:/Users/starlord/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar
[ERROR] urls[7] = 
file:/C:/Users/starlord/.m2/repository/junit/junit/4.12/junit-4.12.jar
[ERROR] urls[8] = 
file:/C:/Users/starlord/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
[ERROR] urls[9] = 
file:/C:/Users/starlord/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
[ERROR] urls[10] = 
file:/C:/Users/starlord/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar
[ERROR] urls[11] = 
file:/C:/Users/starlord/.m2/repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
[ERROR] urls[12] = 
file:/C:/Users/starlord/.m2/repository/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar
[ERROR] urls[13] = 
file:/C:/Users/starlord/.m2/repository/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
[ERROR] urls[14] = 
file:/C:/Users/starlord/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[15] = 
file:/C:/Users/starlord/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[16] = 
file:/C:/Users/starlord/.m2/repository/org/codehaus/plexus/plexus-java/0.9.10/plexus-java-0.9.10.jar
[ERROR] urls[17] = 
file:/C:/Users/starlord/.m2/repository/org/ow2/asm/asm/6.2/asm-6.2.jar
[ERROR] urls[18] = 
file:/C:/Users/starlord/.m2/repository/com/thoughtworks/qdox/qdox/2.0-M8/qdox-2.0-M8.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------
[ERROR] : org.apache.maven.surefire.report.ConsoleOutputReceiver
[ERROR] -> [Help 1]{noformat}
though if I build the module by itself, everything passes. I repeated the steps 
in debug mode and saw the missing dependency wasn't being added to the 
in-process classpath during the multi-module build:
 * {{[DEBUG] in-process(compact) classpath: surefire-junit-platform-2.22.1.jar 
surefire-logger-api-2.22.1.jar maven-surefire-common-2.22.1.jar}}

yet it was on the single module build:
 * {{[DEBUG] in-process(compact) classpath: surefire-junit-platform-2.22.1.jar 
surefire-logger-api-2.22.1.jar maven-surefire-common-2.22.1.jar 
surefire-api-2.22.1.jar}}

Lastly, I can see the {{AbstractSureFireMojo.resolveArtifact}} method adding 
the surefire-logger-api-2.22.1.jar to the classpath during a single module 
build:
{noformat}
[DEBUG] dummy:dummy:jar:1.0 (selected for null)
[DEBUG] org.apache.maven.surefire:surefire-booter:jar:2.22.1:compile (selected 
for compile)
[DEBUG] org.apache.maven.surefire:surefire-api:jar:2.22.1:compile (selected for 
compile)
[DEBUG] org.apache.maven.surefire:surefire-logger-api:jar:2.22.1:compile 
(selected for compile)
[DEBUG] Adding to surefire booter test classpath: 
C:\Users\starlord\.m2\repository\org\apache\maven\surefire\surefire-booter\2.22.1\surefire-booter-2.22.1.jar
 Scope: compile
[DEBUG] Adding to surefire booter test classpath: 
C:\Users\starlord\.m2\repository\org\apache\maven\surefire\surefire-api\2.22.1\surefire-api-2.22.1.jar
 Scope: compile
[DEBUG] Adding to surefire booter test classpath: 
C:\Users\starlord\.m2\repository\org\apache\maven\surefire\surefire-logger-api\2.22.1\surefire-logger-api-2.22.1.jar
 Scope: compile{noformat}

but not the multi-module build.

I think this issue is similar to SUREFIRE-1520, though I am not using the 
deprecated JUnit 5 SureFire provider. I've set the priority as minor because I 
can work around it by manually adding the {{surefire-api-2.22.1.jar}} 
dependency to my parent POM.

If you see something I could do better in my configuration, please let me know.


> ClassNotFoundException, multi-module Maven project, forkCount > 1
> -----------------------------------------------------------------
>
>                 Key: SUREFIRE-1632
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1632
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: JUnit 5.x support, Maven Surefire Plugin, process forking
>    Affects Versions: 2.22.1
>            Reporter: Jim Kaib
>            Priority: Minor
>
> Base configuration:
>  * Windows 10
>  * Maven 3.6.0
>  * Mixed Java 8 and Scala 2.11.8
>  * JMockit 
> I'm trying update my SureFire configuration in a multi-module project from:
>  * SureFire 2.20
>  * JUnit 5.01
> to:
>  * SureFire 2.22.1
>  * JUnit 5 1.3.2
> This is the SureFire configuration I've come up with:
> {code:xml}
> <plugin>
>       <groupId>org.apache.maven.plugins</groupId>
>       <artifactId>maven-surefire-plugin</artifactId>
>       <version>2.22.1</version>
>       <configuration>
>               <forkCount>2</forkCount>
>               <threadCount>2</threadCount>
>               <reuseForks>true</reuseForks>
>               
>               <!-- The '-XX:-TieredCompilation -Xint' args are used to 
> compensate for a JDK defect that -->
>               <!-- impacts the performance of the JMockit API.  Oracle will 
> add the fix to Java 9, so   -->
>               <!-- when the application is upgraded to use that version, 
> these settings should be       -->
>               <!-- revisited.                                                 
>                           -->
>               <!-- 
> (https://groups.google.com/forum/#!msg/jmockit-users/MCm97zsjjd4/ZzSu9gusu8IJ)
>        -->
>               <!-- Sets the VM argument line used when unit tests are run. -->
>               <argLine>-XX:-TieredCompilation -Xint 
> -javaagent:${org.jmockit:jmockit:jar}     @{surefireArgLine} -server</argLine>
>               <includes>
>                       <include>**/*Suite.class</include>
>                       <include>**/*Test.class</include>
>                       <include>**/*Tests.class</include>
>                       <include>**/*Spec.class</include>
>                       <include>**/*Specs.class</include>
>               </includes>
>               <excludes>
>                       <exclude>**/*ITest.class</exclude>
>               </excludes>
>               <properties>
>                       <configurationParameters>
>                               junit.jupiter.execution.parallel.enabled=true
>                               
> junit.jupiter.execution.parallel.config.strategy=dynamic
>                       </configurationParameters>
>                       <property>
>                               <name>listener</name>
>                               
> <value>org.evosuite.runtime.InitializingListener</value>
>                       </property>
>               </properties>
>       </configuration>
> </plugin>
> {code}
> When I run the multi-module build (mvn test), the second module fails with 
> the error:
> {noformat}
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 05:52 min
> [INFO] Finished at: 2019-01-30T13:09:43-05:00
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on 
> project guardians: Execution default-test of goal 
> org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test failed: A required 
> class was missing while executing 
> org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test: 
> org/apache/maven/surefire/report/ConsoleOutputReceiver
> [ERROR] -----------------------------------------------------
> [ERROR] realm = plugin>org.apache.maven.plugins:maven-surefire-plugin:2.22.1
> [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
> [ERROR] urls[0] = 
> file:/C:/Users/starlord/.m2/repository/org/apache/maven/plugins/maven-surefire-plugin/2.22.1/maven-surefire-plugin-2.22.1.jar
> [ERROR] urls[1] = 
> file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/maven-surefire-common/2.22.1/maven-surefire-common-2.22.1.jar
> [ERROR] urls[2] = 
> file:/C:/Users/starlord/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5.2/maven-plugin-annotations-3.5.2.jar
> [ERROR] urls[3] = 
> file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/surefire-api/2.22.1/surefire-api-2.22.1.jar
> [ERROR] urls[4] = 
> file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/surefire-logger-api/2.22.1/surefire-logger-api-2.22.1.jar
> [ERROR] urls[5] = 
> file:/C:/Users/starlord/.m2/repository/org/apache/maven/surefire/surefire-booter/2.22.1/surefire-booter-2.22.1.jar
> [ERROR] urls[6] = 
> file:/C:/Users/starlord/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar
> [ERROR] urls[7] = 
> file:/C:/Users/starlord/.m2/repository/junit/junit/4.12/junit-4.12.jar
> [ERROR] urls[8] = 
> file:/C:/Users/starlord/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
> [ERROR] urls[9] = 
> file:/C:/Users/starlord/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
> [ERROR] urls[10] = 
> file:/C:/Users/starlord/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar
> [ERROR] urls[11] = 
> file:/C:/Users/starlord/.m2/repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
> [ERROR] urls[12] = 
> file:/C:/Users/starlord/.m2/repository/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar
> [ERROR] urls[13] = 
> file:/C:/Users/starlord/.m2/repository/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar
> [ERROR] urls[14] = 
> file:/C:/Users/starlord/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
> [ERROR] urls[15] = 
> file:/C:/Users/starlord/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
> [ERROR] urls[16] = 
> file:/C:/Users/starlord/.m2/repository/org/codehaus/plexus/plexus-java/0.9.10/plexus-java-0.9.10.jar
> [ERROR] urls[17] = 
> file:/C:/Users/starlord/.m2/repository/org/ow2/asm/asm/6.2/asm-6.2.jar
> [ERROR] urls[18] = 
> file:/C:/Users/starlord/.m2/repository/com/thoughtworks/qdox/qdox/2.0-M8/qdox-2.0-M8.jar
> [ERROR] Number of foreign imports: 1
> [ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
> [ERROR] 
> [ERROR] -----------------------------------------------------
> [ERROR] : org.apache.maven.surefire.report.ConsoleOutputReceiver
> [ERROR] -> [Help 1]{noformat}
> though if I build the module by itself, everything passes. I repeated the 
> steps in debug mode and saw the missing dependency wasn't being added to the 
> in-process classpath during the multi-module build:
>  * {{[DEBUG] in-process(compact) classpath: 
> surefire-junit-platform-2.22.1.jar surefire-logger-api-2.22.1.jar 
> maven-surefire-common-2.22.1.jar}}
> yet it was on the single module build:
>  * {{[DEBUG] in-process(compact) classpath: 
> surefire-junit-platform-2.22.1.jar surefire-logger-api-2.22.1.jar 
> maven-surefire-common-2.22.1.jar surefire-api-2.22.1.jar}}
> Lastly, I can see the {{AbstractSureFireMojo.resolveArtifact}} method adding 
> the surefire-logger-api-2.22.1.jar to the classpath during a single module 
> build:
> {noformat}
> [DEBUG] dummy:dummy:jar:1.0 (selected for null)
> [DEBUG] org.apache.maven.surefire:surefire-booter:jar:2.22.1:compile 
> (selected for compile)
> [DEBUG] org.apache.maven.surefire:surefire-api:jar:2.22.1:compile (selected 
> for compile)
> [DEBUG] org.apache.maven.surefire:surefire-logger-api:jar:2.22.1:compile 
> (selected for compile)
> [DEBUG] Adding to surefire booter test classpath: 
> C:\Users\starlord\.m2\repository\org\apache\maven\surefire\surefire-booter\2.22.1\surefire-booter-2.22.1.jar
>  Scope: compile
> [DEBUG] Adding to surefire booter test classpath: 
> C:\Users\starlord\.m2\repository\org\apache\maven\surefire\surefire-api\2.22.1\surefire-api-2.22.1.jar
>  Scope: compile
> [DEBUG] Adding to surefire booter test classpath: 
> C:\Users\starlord\.m2\repository\org\apache\maven\surefire\surefire-logger-api\2.22.1\surefire-logger-api-2.22.1.jar
>  Scope: compile{noformat}
> but not the multi-module build.
> I think this issue is similar to SUREFIRE-1520, though I am not using the 
> deprecated JUnit 5 SureFire provider. I've set the priority as minor because 
> I can work around it by manually adding the {{surefire-api-2.22.1.jar}} 
> dependency to my parent POM.  I can also use the default {{forkCount}} of 
> one, though the build is of course much slower.
> If you see something I could do better in my configuration, please let me 
> know.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to