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 のいくつかのメソッドは非推奨です (ただし、私が使用しているものは除きます)。それはおそらく物事を妨げる可能性がありますか?
みんなありがとうピート