objectlabkit
objectlabkit copied to clipboard
Duplicate classes in datecalc-joda and datecalc-common
I'm using the Maven enforcer plugin that can check for duplicate classes during the build.
When I upgrade datecalc-joda (that artefact depends on datecalc-common) from 1.4.1
to 1.4.2
my build fails with the following error:
[WARNING] Rule 6: org.apache.maven.plugins.enforcer.BanDuplicateClasses failed with message:
Duplicate classes found:
Found in:
net.objectlab.kit:datecalc-joda:jar:1.4.2:compile
net.objectlab.kit:datecalc-common:jar:1.4.2:compile
Duplicate classes:
net/objectlab/kit/datecalc/common/BaseCalculator.class
net/objectlab/kit/datecalc/common/IMMDateCalculator.class
net/objectlab/kit/datecalc/common/DateCalculator.class
net/objectlab/kit/datecalc/common/Tenor.class
net/objectlab/kit/datecalc/common/SpotLag.class
net/objectlab/kit/datecalc/common/NonWorkingDayChecker.class
net/objectlab/kit/datecalc/common/HolidayHandlerType.class
net/objectlab/kit/datecalc/common/ReadOnlyHolidayCalendar.class
net/objectlab/kit/datecalc/common/CurrencyDateCalculator.class
net/objectlab/kit/datecalc/common/IMMPeriod.class
net/objectlab/kit/datecalc/common/ccy/AbstractCurrencyDateCalculator$1.class
net/objectlab/kit/datecalc/common/ccy/DefaultCurrencyCalculatorConfig.class
net/objectlab/kit/datecalc/common/Utils.class
net/objectlab/kit/datecalc/common/DefaultHolidayCalendar.class
net/objectlab/kit/datecalc/common/KitCalculatorsFactory.class
net/objectlab/kit/datecalc/common/WorkingWeek.class
net/objectlab/kit/datecalc/common/ExcelDateUtil.class
net/objectlab/kit/datecalc/common/CurrencyDateCalculatorBuilder.class
net/objectlab/kit/datecalc/common/AbstractDateCalculator.class
net/objectlab/kit/datecalc/common/AbstractKitCalculatorsFactory.class
net/objectlab/kit/datecalc/common/AbstractIMMDateCalculator.class
net/objectlab/kit/datecalc/common/TenorCode.class
net/objectlab/kit/datecalc/common/PeriodCountCalculator.class
net/objectlab/kit/datecalc/common/AbstractDateCalculator$1.class
net/objectlab/kit/datecalc/common/ImmutableHolidayCalendar.class
net/objectlab/kit/datecalc/common/CalculatorConstants.class
net/objectlab/kit/datecalc/common/ccy/CurrencyCalculatorConfig.class
net/objectlab/kit/datecalc/common/PeriodCountBasis.class
net/objectlab/kit/datecalc/common/StandardTenor.class
net/objectlab/kit/datecalc/common/ccy/AbstractCurrencyDateCalculator.class
net/objectlab/kit/datecalc/common/HolidayCalendar.class
net/objectlab/kit/datecalc/common/HolidayHandler.class
It seems to me that the common classes should not be included in the datecalc-joda jar.
Same issue is present in datecalc-jdk8
. datecalc-commons
should be pulled in as transitive dependency, not included in the main artifact.
This is an actual problem because the source jar for datecalc-jdk8
does not have commons sources, therefore Eclipse does not attach them, and debugging becomes very difficult.