I want to use opencsv in a project that is build with Java 14, using Java module system. So it has a module-info.java file.
A call to a method in opencsv works fine when it's initiated from a unit test, but throws an exception when initiated from the Main.main() method. If I remove the module-info.java file, the method works fine in both cases.
The module-info file is simple, but probably wrong:
module opencsvDemo {
requires opencsv;
opens demo;
}
When running from Main.main(), I get
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/Date
at commons.beanutils@1.9.4/org.apache.commons.beanutils.ConvertUtilsBean.registerOther(ConvertUtilsBean.java:730)
at commons.beanutils@1.9.4/org.apache.commons.beanutils.ConvertUtilsBean.deregister(ConvertUtilsBean.java:602)
at commons.beanutils@1.9.4/org.apache.commons.beanutils.ConvertUtilsBean.<init>(ConvertUtilsBean.java:161)
at opencsv@5.2/com.opencsv.bean.ConverterPrimitiveTypes.<init>(ConverterPrimitiveTypes.java:88)
at opencsv@5.2/com.opencsv.bean.AbstractMappingStrategy.determineConverter(AbstractMappingStrategy.java:739)
at opencsv@5.2/com.opencsv.bean.HeaderColumnNameMappingStrategy.loadAnnotatedFieldMap(HeaderColumnNameMappingStrategy.java:155)
at opencsv@5.2/com.opencsv.bean.AbstractMappingStrategy.loadFieldMap(AbstractMappingStrategy.java:405)
at opencsv@5.2/com.opencsv.bean.AbstractMappingStrategy.setType(AbstractMappingStrategy.java:343)
at opencsv@5.2/com.opencsv.bean.util.OpencsvUtils.determineMappingStrategy(OpencsvUtils.java:77)
at opencsv@5.2/com.opencsv.bean.CsvToBeanBuilder.build(CsvToBeanBuilder.java:210)
at opencsvDemo/demo.CsvGetter.get(CsvGetter.java:23)
at opencsvDemo/demo.Main.main(Main.java:13)
Is the error in my module-info.java file, or should I look somewhere else?