gpt4 book ai didi

未找到 Java 方法,即使方法签名看起来不错(desmo-j 模拟)

转载 作者:行者123 更新时间:2023-12-02 00:10:19 24 4
gpt4 key购买 nike

我正在尝试在 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 中的一些方法已被弃用(尽管不是我正在使用的方法)。这可能会干扰事情吗?

谢谢大家皮特

最佳答案

您正在尝试使用带有签名的构造函数:

TimeSeries(Model, String, TimeInstant, TimeInstant, boolean)

应该匹配 this one .

事实上,您的编译成功,但程序给出了此运行时错误,这强烈表明您的应用程序在运行时使用的库版本与您编译的版本不同。检查以下内容:

  • 检查构建类路径和运行类路径上是否有相同的 desmoj JAR。

  • 检查您是否意外地将两个版本的 desmoj JAR 包含在任一类路径中。

关于未找到 Java 方法,即使方法签名看起来不错(desmo-j 模拟),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12954389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com