AnyLogic 7: библиотека доступа к Excel (Apache POI) не указана
Я пытаюсь использовать класс AnyLogic ExcelFile
, но оказывается, что AnyLogic не может найти требуемую библиотеку Apache POI:
Error during model startup:
Excel access library (Apache POI) is not specified (or is specified incorrectly) in the classpath
Caused by: org/apache/poi/openxml4j/exceptions/InvalidFormatException
Caused by: org.apache.poi.openxml4j.exceptions.InvalidFormatException
java.lang.RuntimeException: Excel access library (Apache POI) is not specified (or is specified incorrectly) in the classpath
at com.xj.anylogic.engine.Engine.a(Unknown Source)
at com.xj.anylogic.engine.Engine.start(Unknown Source)
at com.xj.anylogic.engine.ExperimentSimulation.b(Unknown Source)
at com.xj.anylogic.engine.ExperimentSimulation.run(Unknown Source)
at generic_agent_based_model_with_births_and_deaths.Simulation.executeShapeControlAction(Simulation.java:107)
Caused by: java.lang.NoClassDefFoundError: org/apache/poi/openxml4j/exceptions/InvalidFormatException
at generic_agent_based_model_with_births_and_deaths.ExcelDataSource.onStartup(ExcelDataSource.java:668)
at generic_agent_based_model_with_births_and_deaths.ExcelDataSource.start(ExcelDataSource.java:652)
at generic_agent_based_model_with_births_and_deaths.Main.start(Main.java:1046)
... 4 more
Caused by: java.lang.ClassNotFoundException: org.apache.poi.openxml4j.exceptions.InvalidFormatException
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 7 more
Как я могу это исправить?
Некоторые примечания:
- Я работаю с моделью, изначально разработанной кем-то другим. Я предполагаю, что модель изначально создавалась для AnyLogic 6.9, но я использую AnyLogic 7.0.3.
- Я предполагаю, что AnyLogic должен автоматически импортировать библиотеку POI: есть идеи, что он сделал неправильно / что я сделал неправильно, чтобы вызвать сбой AnyLogic?
- Чтобы избежать путаницы,
ExcelDataSource
— это класс-оболочка, который я создал, чтобы упроститьExcelFile
для нашего варианта использования.
Заранее спасибо!