使用 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 时“无法从给定的启动配置中找到主要方法”的主要内容,如果未能解决你的问题,请参考以下文章