1

对于游戏树的课堂练习,我必须编写与.jar文件一起使用的代码。我以前没有以这种方式使用过 Java。我的 Eclipse 项目树如下所示:

项目树

要运行代码,有人告诉我在命令行上执行此操作:

java -jar VierOpEenRij.jar Mens spel.speler.Random 5 5

如何调试此代码?我尝试过修改 Eclipse 的调试配置,也尝试过执行jdb -jar VierOpEenRij.jar Mens spel.speler.Random 5 5,但我无法找到启动调试器的方法。

当.jar文件包含 main 方法时,如何调试我的代码?

4

3 回答 3

2

我不确定是否使用 进行jdb调试,但是如果您在 Eclipse 中进行调试,那么最终的包装(例如 jar)是什么并不重要。如果您为 Random(带有 main 方法的类?)类设置了调试,那么您将很好地调试您的程序。

于 2010-11-24T21:37:09.757 回答
1

我可能会完全关闭,因为我并没有真正遇到过这种情况,但是不会右键单击 jar -> 调试为 ... -> Java 应用程序可以解决问题吗?

编辑:

设法使它以这种方式工作:

  • 需要一个“半”可运行的jar(似乎是你的情况:那里有主类但缺少依赖项,清单应该指示一个主类)
  • 将 main 添加到构建路径(在包资源管理器视图中,右键单击 jar -> build-path -> 添加到构建路径)。
  • 在包资源管理器视图的构建路径节点中,展开 jar 直到深入到 main 方法,右键单击并作为 java 应用程序运行或调试。

出于某种原因,我希望能够右键单击 jar 并直接作为 java 应用程序进行 dbug ......主要在清单中指示,但似乎没有找到它。不知道为什么。但与此同时,这行得通。

EDIT2:实际上,现在我可以直接右键单击jar(甚至是项目)并在弹出对话框时选择正确的main,一切都很好。也许我之前错过了一些东西。无论如何,你很高兴去。)

在下图中,MainInJar.main() 调用 ClassOutOfJar.somethingOutOfJar(),它将某些内容打印到屏幕上。

主要在罐子里

于 2010-11-24T19:37:31.783 回答
0

您需要在 jdb 中指定类路径。

jdb -classpath [jar-file] [main-class-full-name] [args]

在您的情况下,jar 文件将是: VierOpEenRij.jar

您可以在 META-INF/MANIFEST.MF 的 jar 存档中找到主类名称。

于 2015-05-26T17:07:17.990 回答