我有一个项目,我正在使用Java + Scala + Slick2D。
从eclipse中启动项目本身运行良好。但是当我尝试制作一个jar文件时,它只是拒绝工作。这是我在尝试将其导出为Runnable jar时遇到的错误:
如果我尝试导出只是一个Jar文件,它就无法找到主类:
当然,游戏中有一个主要类.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
答案 0 :(得分:12)
好的,我开始工作了。显然,我需要做的就是重启eclipse。然后神奇地,它开始检测Main类:
但是jar开始为Slick2d,LWJGL和其他库提供noClassDefFound错误。这就是JarSplice来救我的地方。我像以前一样导出了项目,包括所有的库和资源。
然后,我启动了JarSplice,并按如下方式添加了所有内容:
答案 1 :(得分:7)
我刚遇到同样的问题,这就是我解决的问题:
打开“运行方式” - >要导出的项目的“运行配置”
单击“搜索”以查看Eclipse以刷新主类列表
然后再次导出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 文件。