Closed scribetw closed 1 month ago
I am seeing a similar problem with the same cause. Are there plans to patch this?
Hi friends. Thanks for the issue and apologies for the delay. It's possible that another workaround could be to remove the org.slf4j:slf4j-api
from your dependencies configuration.
That said, I don't believe there are any functional differences in NLP between version 4.0.6.Final and version 5.0.7.Final, so your workaround should be fine.
However, workarounds still shouldn't be necessary. I'll need to look at what changed in the shade configuration between these versions, but in the mean time, I would be happy to review and accept a pull request for this issue!
Released 5.0.9.Final -- please let me know if the problem is not resolved -- Thanks @tesnick for the PR!
Released 5.0.9.Final -- please let me know if the problem is not resolved -- Thanks @tesnick for the PR!
I can't see yet release 5.0.9.Final, is this ongoing? Thx
@tesnick It appears in MVN central for me. Try clearing your mvn caches if not? https://central.sonatype.com/artifact/org.ocpsoft.prettytime/prettytime-nlp/versions
yes, I was not checking it properly. Thanks a lot!
Hi, I'm using
prettytime-nlp
in an Android app. But I encounter a compiling errors:Error log
``` FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:checkReleaseDuplicateClasses'. > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable > Duplicate class org.slf4j.ILoggerFactory found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.IMarkerFactory found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.Logger found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.LoggerFactory found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.MDC found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.MDC$1 found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.MDC$MDCCloseable found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.Marker found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.MarkerFactory found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.BasicMDCAdapter found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.BasicMarker found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.BasicMarkerFactory found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.FormattingTuple found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.MarkerIgnoringBase found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.MessageFormatter found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.NOPLogger found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.NOPLoggerFactory found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.NOPMDCAdapter found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.NamedLoggerBase found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.SubstituteLogger found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.SubstituteLoggerFactory found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.Util found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.Util$1 found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.helpers.Util$ClassContextSecurityManager found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.spi.LocationAwareLogger found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.spi.LoggerFactoryBinder found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.spi.MDCAdapter found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Duplicate class org.slf4j.spi.MarkerFactoryBinder found in modules prettytime-nlp-5.0.7.Final.jar -> jetified-prettytime-nlp-5.0.7.Final (org.ocpsoft.prettytime:prettytime-nlp:5.0.7.Final) and slf4j-api-2.0.12.jar -> jetified-slf4j-api-2.0.12 (org.slf4j:slf4j-api:2.0.12) Go to the documentation to learn how to Fix dependency resolution errors. * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 39s Running Gradle task 'assembleRelease'... 40.3s Gradle task assembleRelease failed with exit code 1 ```Environment
app/build.gradle dependencies
Possible Cause
I found there is a duplicated folder
org/slf4j
inprettytime-nlp-5.0.7.Final.jar
.Consider adding
org.slf4j:slf4j-api
as a dependency ofprettytime-nlp
.Workaround
Use version
4.0.6.Final
instead.