【发布时间】:2020-10-10 12:41:07
【问题描述】:
我想在使用 Java 14 构建的 project 中使用 opencsv,使用 Java 模块系统。所以它有一个 module-info.java 文件。
从单元测试启动时,对 opencsv 中方法的调用可以正常工作,但从 Main.main() 方法启动时会引发异常。 如果我删除 module-info.java 文件,该方法在这两种情况下都可以正常工作。
模块信息文件很简单,但可能是错误的:
module opencsvDemo {
requires opencsv;
opens demo;
}
从 Main.main() 运行时,我得到
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)
是我的 module-info.java 文件中的错误,还是我应该看看其他地方?
【问题讨论】:
标签: java opencsv java-module java-platform-module-system java-14