[ 
https://issues.apache.org/jira/browse/MNG-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17734076#comment-17734076
 ] 

Tamas Cservenak commented on MNG-7818:
--------------------------------------

This issue does not mention this explicitly, but I can imagine one case:
* the project imports maven POM
* by looking at refd 
https://github.com/apache/maven/commit/924dbfecf87fa7cc3cc21c840057272321440ea8 
there ARE exclusions added in depMgmt, but also added excplicit test scoped dep 
on "proper" (2.2) hamcrest. All this happened to exclude proper old 1.x 
hamcrest and make sure Maven use 2.2
* This means (given affected project relies on depMgmt imported from maven 
parent POM, if my assumption is true) that affected project simply needs to 
"redo" what in commit above is done: re-add dependency on hamcrest core

> [REGRESSION] maven improperly excludes hamcrest-core from junit
> ---------------------------------------------------------------
>
>                 Key: MNG-7818
>                 URL: https://issues.apache.org/jira/browse/MNG-7818
>             Project: Maven
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.9.2
>         Environment: Any
>            Reporter: Lenny Primak
>            Priority: Minor
>
> junit 4 now has exclusions for hamcrest-core, which causes 
> ClassNotFouncException
> BTW: upgrading hamcrest-core to 2.2 (without exclusions) works just fine as 
> well
> Traced to https://issues.apache.org/jira/browse/MNG-7670
> {code:java}
> [INFO] Running com.flowlogix.arqsuite.DeploymentOneTest
> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.088 
> s <<< FAILURE! -- in com.flowlogix.arqsuite.DeploymentOneTest
> [ERROR] com.flowlogix.arqsuite.DeploymentOneTest.initializationError -- Time 
> elapsed: 0.009 s <<< ERROR!
> java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
>       at java.base/java.lang.ClassLoader.defineClass1(Native Method)
>       at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1013)
>       at 
> java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
>       at 
> java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
>       at 
> java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
>       at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
>       at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
>       at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
>       at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
>       at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
>       at 
> java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3473)
>       at java.base/java.lang.Class.getConstructor0(Class.java:3678)
>       at java.base/java.lang.Class.getConstructor(Class.java:2368)
>       at 
> org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
>       at 
> org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
>       at 
> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
>       at 
> org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
>       at 
> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
>       at 
> org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
>       at 
> org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:314)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155)
>       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.hamcrest.SelfDescribing
>       at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
>       at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
>       at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
>       ... 28 more  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to