我正在尝试在 Mac OS X 10.7 上的 Java、NetBeans 7.2 中运行 Desmo-J 模拟示例。一个名为 TimeSeries 的类作为导入包含在内,即。
import desmoj.core.statistic.TimeSeries;
它有一个函数签名
(Model, String, TimeInstant,TimeInstant, boolean)
我可以编译我的主 java 文件,但是在运行/调试时,它失败了,告诉我
Exception in thread "main" java.lang.NoSuchMethodError: desmoj.core.statistic.TimeSeries.<init>(Ldesmoj/core/simulator/Model;Ljava/lang/String;Ldesmoj/core/simulator/TimeInstant;Ldesmoj/core/simulator/TimeInstant;Z)V
尽管我正在进行的调用 (AFAIK) 传递了正确的类型参数,但这是事实:
trucksArrived = new TimeSeries(this.getModel(), "arrived", new TimeInstant(0), new TimeInstant(1500), false);
trucksServiced = new TimeSeries(this.getModel(), "finished", new TimeInstant(0), new TimeInstant(1500), false);
我很困惑为什么会发生这种情况。关于为什么 Java 无法在运行时识别我的方法调用,而在编译中看到它的任何线索? 会不会是干扰类路径的东西,即。另一个 TimeSeries 在那里(目前在库中看不到任何内容)?我是否正确阅读了异常消息(及其函数签名)?TimeSeries 中的某些方法已被弃用(尽管不是我正在使用的方法)。这可能会干扰事情吗?
谢谢大家皮特