The maven-enforcer-plugin's excellent duplicate class finder extension tells me that these classes are packaged in *both* the datecalc-common and the datecalc-joda jar files:
Found in:
net.objectlab.kit:datecalc-joda:jar:1.2.0:compile
net.objectlab.kit:datecalc-common:jar:1.2.0:compile
Duplicate classes:
net/objectlab/kit/datecalc/common/AbstractIMMDateCalculator.class
net/objectlab/kit/datecalc/common/HolidayCalendar.class
net/objectlab/kit/datecalc/common/Utils.class
net/objectlab/kit/datecalc/common/ExcelDateUtil.class
net/objectlab/kit/datecalc/common/DefaultHolidayCalendar$DateComp.class
net/objectlab/kit/datecalc/common/KitCalculatorsFactory.class
net/objectlab/kit/datecalc/common/DefaultHolidayCalendar$1.class
net/objectlab/kit/datecalc/common/StandardTenor.class
net/objectlab/kit/datecalc/common/AbstractDateCalculator$1.class
net/objectlab/kit/datecalc/common/AbstractKitCalculatorsFactory.class
net/objectlab/kit/datecalc/common/HolidayHandler.class
net/objectlab/kit/datecalc/common/PeriodCountBasis.class
net/objectlab/kit/datecalc/common/Tenor.class
net/objectlab/kit/datecalc/common/DefaultHolidayCalendar$CalendarComp.class
net/objectlab/kit/datecalc/common/TenorCode.class
net/objectlab/kit/datecalc/common/DefaultHolidayCalendar.class
net/objectlab/kit/datecalc/common/IMMDateCalculator.class
net/objectlab/kit/datecalc/common/PeriodCountCalculator.class
net/objectlab/kit/datecalc/common/HolidayHandlerType.class
net/objectlab/kit/datecalc/common/DateCalculator.class
net/objectlab/kit/datecalc/common/ImmutableHolidayCalendar.class
net/objectlab/kit/datecalc/common/WorkingWeek.class
net/objectlab/kit/datecalc/common/AbstractDateCalculator.class
net/objectlab/kit/datecalc/common/IMMPeriod.class
This appears to me to be unintentional, bearing in mind that the datecalc-joda pom declares a dependency on the datecalc-common artifact. Is the datecalc-joda packaging including the common class files in error?
My current workaround is just to exclude the datecalc-common transitive dependency:
<exclusion>
<groupId>net.objectlab.kit</groupId>
<artifactId>datecalc-common</artifactId>
</exclusion>
This works because everything required is already present in datecalc-joda.
Here's a patch which prevents the common classes also being packaged in the joda and jdk jar files and adds the enforcer plugin so that the situation cannot recur..
Uploaded a patch.