0

我是 Java 新手,所以我的问题对你来说可能很简单。但我一直在努力解决这个问题。

我不是在写我的代码。它来自 MATSim。他们的代码有两个版本:一个来自 2009 年,另一个来自 2013 年。

请看这个截图:

如果 tis 图片不起作用,请通过高音扬声器查看:ScreenShot

我已经下载了 2013 版本并根据指南添加了它的库。但是 Eclipse 中的代码是 2009 年的代码,正如您所见,该代码所需的一些类已从 2013 库中删除。

***>>>>>>For example, this one is not in the library:..... import org.matsim.core.scoring.PlanScorer;<<<<<<<<<<<***
import org.matsim.knowledges.Knowledges;
import org.matsim.locationchoice.constrained.LocationMutatorwChoiceSet;
import org.matsim.locationchoice.constrained.ManageSubchains;
import org.matsim.locationchoice.constrained.SubChain;
import org.matsim.planomat.Planomat;
import org.matsim.planomat.costestimators.DepartureDelayAverageCalculator;
import org.matsim.planomat.costestimators.LegTravelTimeEstimatorFactory;
import org.matsim.population.algorithms.PlanAlgorithm;

**>>>>>>> or these specific classes: ..... import playground.mfeil.MDSAM.ActivityTypeFinder;
import playground.mfeil.config.PlanomatXConfigGroup;<<<<<<<<<<**

幸运的是,我从他们的档案中找到了他们的 .java 文件。我尝试将它们放在 .jar 文件夹中,并通过 >>> properties/Java Build Path 将它们添加到库中。但这对我不起作用。

我想知道你是否在这件事上帮助我。如果你知道怎么做,请帮助我如何更改上述代码中的文件路径。仅手动更改路径就足够了吗?

非常感谢您的帮助。

谢谢你,索玛耶

4

2 回答 2

1

根据您提供的信息猜测...

选项 A:

根据MA​​TSim 的问题跟踪器,planomat 不再存在。重新规划的首选方式是向 MATSim 配置添加更小的策略,一次只更改一个维度(而不是最佳响应 planomat)。查看最新的 MATSim 用户指南第 7 章,了解可用的策略以及如何使用它们。用户指南随最新版本一起提供。

选项 B:

如果您真的需要 planomat,请获取较旧的 MATSim 版本。然后 Planomat 应该是 MATSim 核心的一部分。因此,无需将 mfeil 的 Playground 添​​加到您的构建路径中。同样,我不推荐这个。首选方法是选项 A。

于 2014-10-30T16:29:10.890 回答
0

这里没有足够的信息,所以我会猜测一下你在做什么以及问题是什么。如果您说“我在编译时(或运行时)收到此错误消息,然后将其粘贴到帖子中,这将非常有帮助。否则我们只能猜测。

我认为您有两个版本的库,您试图从您未编写的代码中使用它们,并且该代码使用其中一个版本,但您拥有另一个版本的库。(同样,这是你可以提出问题以使它们更完整的东西“我有 2009 版,还有 2013 年的另一个版本......”)。

你不应该需要你没有的模块的源代码;特别是,仅将源代码用于一个版本和另一个版本的库中找不到的源代码是一个坏主意——它们必然是不兼容的。

Java 库通常作为“jar”文件(jar 的扩展)分发;我认为如果您有一个正在使用的库版本的 jar 文件并将其放在“类路径”上,以便您的编译器和运行时可以找到它,您的问题可能会得到解决。

我们很乐意帮助您设置使用不同版本库的路径,但您必须告诉我们您是如何编译的。有几种流行的 IDE(eclipse、IntelliJ 等)和特殊的 ol' 命令行。这些路径的设置都是不同的。

于 2014-08-04T18:16:26.287 回答