Skip to content

Update from 3.5.2 to 3.5.3 can break dependencies #850

@fietser97

Description

@fietser97

Affected version

3.5.3

Bug description

From version 3.5.2 to 3.5.3 the maven-parent has been updated from version 43 to 44.
In this version junit-jupiter has been updated from version 5.10.3 to version 5.12.1.
When we use a lower version of the engine in our surefire config (see below).
Then we get a java.lang.NoClassDefFoundError: org/junit/platform/engine/reporting/OutputDirectoryProvider

Possible solution is pinning your version of Junit.Jupiter in your own pom.xml. Or reverting the update of the maven parent to v44.
Otherwise I'd like to recommend calling the update at lease a minor and not a hotfix version.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
   <dependencies>
      <dependency>
          <groupId>org.junit.jupiter</groupId>
          <artifactId>junit-jupiter-engine</artifactId>
          <version>${junit-jupiter.version}</version>
      </dependency>
  </dependencies>
</plugin>

Exception

org/junit/platform/engine/reporting/OutputDirectoryProvider
java.lang.NoClassDefFoundError: org/junit/platform/engine/reporting/OutputDirectoryProvider
	at org.apache.maven.surefire.junitplatform.TestPlanScannerFilter.accept(TestPlanScannerFilter.java:47)
	at org.apache.maven.surefire.api.util.DefaultScanResult.applyFilter(DefaultScanResult.java:87)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.scanClasspath(JUnitPlatformProvider.java:144)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
	at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.engine.reporting.OutputDirectoryProvider

See also discussion with Springboot.
spring-projects/spring-boot#45693

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions