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
前もって感謝します!