Hello all,

The logback is attempting to migrate to Junit 5. As a consequence of
this migration, a handful of tests that were previously successful, now
fail.

For example, the ch.qos.logback.classic.net.DilutedSMTPAppenderTest
recently failed with the following error:

java.lang.NoClassDefFoundError: jakarta/mail/internet/AddressException

During surefire execution, the j.m.i.AddressException class is not
found. It is part of jakarta-mail.jar. I believe this artifact is on the
module path but somehow is not resolved.

Anyway, upgrading org.assertj:assertj-core from l.7.1 to 3.23.1 seems to
help. Don't ask me why...

I am also puzzled by the fact that many JMPS modularized artifacts are
placed on the class path instead of the module path when the tests are run.

Anyway, I think I may have stumbled upon a bug in Maven or the surefire
plugin. Indeed, when I run mvn install from within the logback-classic
module, the DilutedSMTPAppenderTest mentioned above succeeds.

However, when I run it as

mvn install -Dtest=ch.qos.logback.classic.net.DilutedSMTPAppenderTest

the test fails with the following exception

[ERROR]
ch.qos.logback.classic.net.DilutedSMTPAppenderTest.testTriggeringPolicy
 Time elapsed: 0.001 s  <<< ERROR!
java.lang.NoClassDefFoundError: jakarta/mail/internet/AddressException
        at
ch.qos.logback.classic@1.4.2-SNAPSHOT/ch.qos.logback.classic.net.DilutedSMTPAppenderTest.setUp(DilutedSMTPAppenderTest.java:41)
        at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:578)

[cut]...
Caused by: java.lang.ClassNotFoundException:
jakarta.mail.internet.AddressException
        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)
        ... 74 more


Comparing the command line of the two executions, the 'mvn install'
execution has jakarta-mail-api on the module-path, whereas the 'mvn test
-D=..." has jakarta-mail-api on the class-path.

If you wish to confirm this, I have created tag 'possible_mvn_issue'
in the logback repository on github .

  https://github.com/qos-ch/logback/releases/tag/possible_mvn_issue

Let me know if this merits the creation of a Jira issue.

Your feedback would be most appreciated.

-- 
Ceki Gülcü

Sponsoring SLF4J/logback/reload4j at https://github.com/sponsors/qos-ch
--module-path
"C:\\home\\buzz\\logback\\logback-classic\\target\\classes;
C:\\Users\\buzz\\.m2\\repository\\ch\\qos\\logback\\logback-core\\1.4.2-SNAPSHOT\\logback-core-1.4.2-SNAPSHOT.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\slf4j\\slf4j-api\\2.0.1\\slf4j-api-2.0.1.jar;
C:\\Users\\buzz\\.m2\\repository\\jakarta\\mail\\jakarta.mail-api\\2.1.0\\jakarta.mail-api-2.1.0.jar;
C:\\Users\\buzz\\.m2\\repository\\jakarta\\activation\\jakarta.activation-api\\2.1.0\\jakarta.activation-api-2.1.0.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\eclipse\\angus\\angus-mail\\1.0.0\\angus-mail-1.0.0.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\eclipse\\angus\\angus-activation\\1.0.0\\angus-activation-1.0.0.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\codehaus\\janino\\janino\\3.1.9-SNAPSHOT\\janino-3.1.9-SNAPSHOT.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\codehaus\\janino\\commons-compiler\\3.1.9-SNAPSHOT\\commons-compiler-3.1.9-SNAPSHOT.jar;
C:\\Users\\buzz\\.m2\\repository\\jakarta\\servlet\\jakarta.servlet-api\\5.0.0\\jakarta.servlet-api-5.0.0.jar"
--class-path
"C:\\Users\\buzz\\.m2\\repository\\org\\apache\\maven\\surefire\\surefire-booter\\3.0.0-M7\\surefire-booter-3.0.0-M7.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\apache\\maven\\surefire\\surefire-api\\3.0.0-M7\\surefire-api-3.0.0-M7.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\apache\\maven\\surefire\\surefire-logger-api\\3.0.0-M7\\surefire-logger-api-3.0.0-M7.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\apache\\maven\\surefire\\surefire-shared-utils\\3.0.0-M7\\surefire-shared-utils-3.0.0-M7.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\apache\\maven\\surefire\\surefire-extensions-spi\\3.0.0-M7\\surefire-extensions-spi-3.0.0-M7.jar;
C:\\home\\buzz\\logback\\logback-classic\\target\\test-classes;
C:\\Users\\buzz\\.m2\\repository\\org\\slf4j\\slf4j-api\\2.0.1\\slf4j-api-2.0.1-tests.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\slf4j\\log4j-over-slf4j\\2.0.1\\log4j-over-slf4j-2.0.1.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\slf4j\\jul-to-slf4j\\2.0.1\\jul-to-slf4j-2.0.1.jar;
C:\\Users\\buzz\\.m2\\repository\\ch\\qos\\reload4j\\reload4j\\1.2.18.4\\reload4j-1.2.18.4.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\dom4j\\dom4j\\2.0.3\\dom4j-2.0.3.jar;
C:\\Users\\buzz\\.m2\\repository\\ch\\qos\\logback\\logback-core\\1.4.2-SNAPSHOT\\logback-core-1.4.2-SNAPSHOT-tests.jar;
C:\\Users\\buzz\\.m2\\repository\\com\\icegreen\\greenmail\\2.0.0-alpha-1\\greenmail-2.0.0-alpha-1.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\apache\\felix\\org.apache.felix.main\\5.6.10\\org.apache.felix.main-5.6.10.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\apache\\felix\\org.apache.felix.framework\\5.6.10\\org.apache.felix.framework-5.6.10.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\mockito\\mockito-core\\4.3.0\\mockito-core-4.3.0.jar;
C:\\Users\\buzz\\.m2\\repository\\net\\bytebuddy\\byte-buddy\\1.12.7\\byte-buddy-1.12.7.jar;
C:\\Users\\buzz\\.m2\\repository\\net\\bytebuddy\\byte-buddy-agent\\1.12.7\\byte-buddy-agent-1.12.7.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\objenesis\\objenesis\\3.2\\objenesis-3.2.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\assertj\\assertj-core\\1.7.1\\assertj-core-1.7.1.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\junit\\jupiter\\junit-jupiter-api\\5.9.0\\junit-jupiter-api-5.9.0.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\opentest4j\\opentest4j\\1.2.0\\opentest4j-1.2.0.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\junit\\platform\\junit-platform-commons\\1.9.0\\junit-platform-commons-1.9.0.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\apiguardian\\apiguardian-api\\1.1.2\\apiguardian-api-1.1.2.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\junit\\jupiter\\junit-jupiter-engine\\5.9.0\\junit-jupiter-engine-5.9.0.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\junit\\platform\\junit-platform-engine\\1.9.0\\junit-platform-engine-1.9.0.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\hamcrest\\hamcrest-library\\2.2\\hamcrest-library-2.2.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\hamcrest\\hamcrest-core\\2.2\\hamcrest-core-2.2.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\hamcrest\\hamcrest\\2.2\\hamcrest-2.2.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\apache\\maven\\surefire\\surefire-junit-platform\\3.0.0-M7\\surefire-junit-platform-3.0.0-M7.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\apache\\maven\\surefire\\common-java5\\3.0.0-M7\\common-java5-3.0.0-M7.jar;
C:\\Users\\buzz\\.m2\\repository\\org\\junit\\platform\\junit-platform-launcher\\1.9.0\\junit-platform-launcher-1.9.0.jar"
--patch-module
ch.qos.logback.classic="C:\\home\\buzz\\logback\\logback-classic\\target\\test-classes"
--add-opens
ch.qos.logback.classic/ch.qos.logback.classic.net=ALL-UNNAMED
--add-modules
ch.qos.logback.classic
--add-reads
ch.qos.logback.classic=ALL-UNNAMED
org.apache.maven.surefire.booter.ForkedBooter
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to