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

ryevplcw  于 2022-11-29  发布在  Scala
关注(0)|答案(8)|浏览(141)

我有一个项目,其中我使用Java+Scala+ Slick 2D。
当从eclipse中启动时,项目本身运行得很好。但是当我尝试创建一个jar文件时,它就拒绝工作。下面是我在尝试将其导出为Runnable jar时不断遇到的错误:

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

当然,在game. TicTacGame中有一个主类。但是它拒绝承认它。我试着用一个简单的Hello World项目创建一个可执行文件,它运行得很好。它甚至检测到了主类。为什么Eclipse在这种情况下没有检测到主类呢?
PS:我也试过解压缩创建的.jar文件,编辑manifest.mf文件来添加Main-Class:TicTacGame,输入两个新行并重新创建jar。然后它给我一个损坏的jar文件错误。
我现在使用的是Windows7 x64,带有EclipseJuno、Java1.7和Scala2.10
编辑:Main类采用Java语言

e0bqpujr

e0bqpujr1#

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

但是对于Slick 2d、LWJGL和其他库,jar开始给我noClassDefFound错误。这就是JarSplice帮助我的地方。我像以前一样导出了项目,包括所有的库和资源。
然后,我启动JarSplice,并添加了以下内容:
1.转到“添加Jars”,添加刚刚通过eclipse创建的project.jar,添加lwjgl.jar、slick.jar和scala-library.jar。lwjgl.jar和slick应该在您的项目lib文件夹中,您应该在那里导入它们。scala-library应该在它指定的位置可用。确保您也添加了

1.接下来,当我试图“添加本地人”时,它一直给我“重复库”错误。所以我把它们都删除了,并保持为空。
1.接下来在“主类”中,我进入了主类iidoee. game的路径。TicTacGame
1.最后,“创建胖jar”。而且它工作得很完美:)

whlutmcx

whlutmcx2#

我刚刚遇到了同样的问题,下面是我解决它的方法:
1.在要导出的项目上打开“运行方式”--〉“运行配置
1.单击Eclipse的“Search”以刷新主类列表
1.然后再次导出Runnable JAR文件,一切都很顺利。

kknvjkwl

kknvjkwl3#

我最近想到了一个更好的方法,使用'Runnable jar export',这可能会对你有所帮助。为了让你的main方法在列表中列出,你需要把main方法添加到 Run Configuration 列表中。
这样,创建一个可运行的jar就更简单了,特别是如果你想重复这样做的话。

vaj7vani

vaj7vani4#

嗯,得到了同样的问题,并解决了它选择我的图形用户界面导出,而不是整个项目。

rkttyhzu

rkttyhzu5#

最简单的方法是运行java文件一次,文件就会自动出现在列表中。即使我也面临着错误,但它通过使用这个简单的方法得到了解决。

but5z9lq

but5z9lq6#

我在使用Eclipse版本2019-03(4.11.0)和编译器JaveSE-11时遇到了这个问题。选择正确的启动配置和导出可运行的jar一次又一次地失败,并出现错误
无法从给定的启动配置中找到main方法
我尝试过重新启动Eclipse并进行干净的构建,但没有任何帮助。
最后,我找到了一个变通方法,进入生成的jar文件(我已经使用了7zip)并更改META-INF/MANIFEST.MF文件。

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

希望能帮上忙。

webghufk

webghufk7#

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

guykilcj

guykilcj8#

我也遇到了同样的问题。为了克服这个问题,你需要关闭所有打开的文件,打开一个包含main()方法的java类文件。然后从eclipse中导出它,这样就可以正常工作了。

相关问题