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

时间:2012-11-23 11:09:44

标签: java scala executable-jar eclipse-juno slick2d

我有一个项目,我正在使用Java + Scala + Slick2D。

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

enter image description here

如果我尝试导出只是一个Jar文件,它就无法找到主类:

enter image description here

当然,游戏中有一个主要类.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

7 个答案:

答案 0 :(得分:12)

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

enter image description here

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

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

  1. 转到“Add Jars”并添加刚刚通过eclipse创建的project.jar,添加lwjgl.jar,slick.jar和scala-library.jar。 lwjgl和slick应该在您要导入它们的项目lib文件夹中。 scala-library应该在它所说的任何地方都可用。请务必同时添加enter image description here
  2. 接下来,当我尝试“添加原生”时,它一直给我“重复库”错误。所以我将它们全部删除并保持空白。
  3. 接下来在“Main Class”中,我进入了主类的路径,即game.TicTacGame
  4. 最后,“创造脂肪罐”。它完美地运作:)

答案 1 :(得分:7)

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

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

  2. 单击“搜索”以查看Eclipse以刷新主类列表

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

答案 2 :(得分:0)

我最近想出了一个更好的方法,可以使用' Runnable jar export '来帮助你。为了在主列表中列出主要方法,需要将main方法添加到运行配置列表中。

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

最简单的方法是运行一次Java文件,然后该文件自动出现在列表中。即使我遇到了错误,也可以使用此简单方法解决。

答案 5 :(得分:0)

我在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>

希望它对某人有帮助。

答案 6 :(得分:0)

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