Skip to content

[SUREFIRE-1459] mvn+java7 and POM with toolchains targeting java8 fail in surefire plugin #2151

@jira-importer

Description

@jira-importer

Rüdiger Groß-Hardt opened SUREFIRE-1459 and commented

We compile and test with a POM using a toolchain configuration targeting JDK 8. Maven itself runs with JDK 7. If we run tests with the maven-surefire-plugin and forkCount=1 and reuseForks=false the build fails with
java.lang.UnsupportedClassVersionError: SomeTestClass : Unsupported major.minor version 52.0
If we set reuseForks=true, it builds fine. Other combinations seem to fail, if the plugin code running in the JDK 7 context presumably needs to use reflections to enumerate test classes.

As newbies to toolchains, we were assuming, that toolchains enabled us to effectively decouple the JDK version used to run maven from the JDK version used to run the tests.

This problem took us quite some time to solve. As an improvement I would suggest a meaningful warning or error message stating that the surefire plugin must be run with a JDK version higher than or equal to the version of the target JDK from the toolchain configuration.


Affects: 2.20.1

Attachments:

1 votes, 4 watchers

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions