使用 Java+Scala+Slick2D 时“无法从给定的启动配置中找到主要方法”

Posted

技术标签:

【中文标题】使用 Java+Scala+Slick2D 时“无法从给定的启动配置中找到主要方法”【英文标题】:"Could not find main method from given launch configuration" when using Java+Scala+Slick2D 【发布时间】:2012-11-11 17:55:40 【问题描述】:

我有一个使用 Java+Scala+Slick2D 的项目。

从 Eclipse 中启动时,项目本身运行良好。但是当我尝试制作一个 jar 文件时,它只是拒绝工作。这是我在尝试将其导出为 Runnable jar 时不断遇到的错误:

如果我尝试仅导出到 Jar 文件中,则无法找到主类:

当然,game.TicTacGame 中有一个主类。但它拒绝承认。我尝试用一​​个简单的 Hello World 项目创建一个可执行文件,它运行良好。它甚至可以检测到主类。为什么在这种情况下 Eclipse 没有检测到主类?

PS:我还尝试提取创建的 .jar 文件,编辑 manifest.mf 文件以添加 Main-Class:game.TicTacGame,输入两个新行并重新创建 jar。然后它给了我一个损坏的 jar 文件错误。

我无能为力,希望能在这方面提供任何帮助。我正在使用带有 Eclipse Juno、Java 1.7 和 Scala 2.10 的 Windows 7 x64

编辑:Main 类在 Java 中

【问题讨论】:

您可能想要添加您的主类是 Java 还是 Scala 类的信息。我对 Eclipse Jar Export 不熟悉,但如果我没记错的话,有一些问题是主类必须是 Java 类。 这是一个Java主类。已添加。 【参考方案1】:

好的,我开始工作了。显然,我需要做的就是重新启动 Eclipse。然后神奇地,它开始检测 Main 类:

但是 jar 开始给我关于 Slick2d、LWJGL 和其他库的 noClassDefFound 错误。这就是JarSplice 来救我的地方。我像以前一样导出了项目,包括所有的库和资源。

然后,我启动了 JarSplice 并添加了如下所有内容:

    进入“Add Jars”,添加刚才通过eclipse创建的project.jar,添加lwjgl.jar、slick.jar和scala-library.jar。 lwjgl 和 slick 应该在您的项目 lib 文件夹中,您将在其中导入它们。 scala-library 应该在它所说的任何地方都可用。确保你也添加了 接下来,当我尝试“添加本地人”时,它一直给我“重复库”错误。所以我将它们全部删除并保持为空。 接下来在“主类”中,我输入了主类的路径,即game.TicTacGame 最后,“创建胖罐”。而且效果很好:)

【讨论】:

您对为什么重启有效有任何想法吗?令人愤怒的是,您必须在 eclipse 中做这些奇怪的 hack 才能让它在一半的时间内工作...... 不知道,我猜这个功能在他们的优先级列表中不是很高。但公平地说,它至少有效。我不确定我是否会考虑通过命令行执行此操作 当然。每次你想这样做时都必须重新启动 Eclipse 只是很烦人(无论如何,在这样做了几次之后它就停止了对我的工作)。 +1,顺便说一句:-)【参考方案2】:

我刚遇到同样的问题,我是这样解决的:

    在要导出的项目上打开“运行方式”-->“运行配置”

    点击“搜索”搜索Eclipse刷新主类列表

    然后再次导出Runnable JAR文件,一切顺利。

【讨论】:

【参考方案3】:

我最近想出了一个更好的方法来使用“Runnable jar export”,这可能会对您有所帮助。为了让您的 main 方法列在该列表中,您需要将 main 方法添加到 Run Configuration 列表中。

这样创建一个可运行的 jar 会更简单,特别是如果你想重复做的话。

【讨论】:

【参考方案4】:

好吧,遇到了同样的问题,并通过选择要导出的 GUI 而不是整个项目来解决它。

【讨论】:

【参考方案5】:

最简单的方法是运行java文件一次,该文件自动出现在列表中。即使我遇到了错误,但使用这个简单的方法解决了。

【讨论】:

【参考方案6】:

我在 Eclipse 版本 2019-03 (4.11.0) 和编译器 JaveSE-11 中遇到了这个问题。选择正确的启动配置和导出可运行的 jar 一次又一次地失败并出现错误

在给定的启动配置中找不到主要方法

我尝试重新启动 Eclipse 并进行干净的构建,但没有帮助。

最后,我找到了进入生成的 jar 文件(我使用的是 7zip)并更改 META-INF/MANIFEST.MF 文件的解决方法。文件里面应该有这样的内容:

Manifest-Version: 1.0
Class-Path: .
Main-Class: <package name>.<class name>

希望它对某人有所帮助。

【讨论】:

【参考方案7】:

我遇到了同样的问题,在我的情况下,我发现 Runnable Jar 文件规范对话框中的“启动配置”不正确。不知何故,eclipse自动接受了它。 “启动配置”应该是具有 main 方法的 java 文件。基本上,它是文件名包。 在我更改“启动配置”的那一刻,我能够创建 Jar 文件而没有任何错误。

【讨论】:

【参考方案8】:

我有同样的问题。要克服这个问题,您需要关闭所有打开的文件并打开一个具有 main() 方法的 java 类文件。然后从 eclipse 中导出就可以了。

【讨论】:

以上是关于使用 Java+Scala+Slick2D 时“无法从给定的启动配置中找到主要方法”的主要内容,如果未能解决你的问题,请参考以下文章

text slick2d你好世界

scala中optionNonesome对象

Scala 模糊性与无括号函数调用

2021年大数据常用语言Scala:基础语法学习 方法调用方式

塔防:子弹数学

Scala使用OptionSomeNone,避免使用null