所以我有以下项目结构: 我有一个名为“com.github.liketechnik”包。我的主类是Build in这个包(“com.github.liketechnik.Build”)。JAR文件 - 主类未找到
我编程把编译的类从那里进入一个jar文件有正确的表现,如G。包含一个版本属性和一个Main-Class条目“com.github.liketechnik.Build”。 jar内的类包含在“com/github/liketechnik/Build.class”下。
运行java -jar output.jar
时,它直接失败:“Error:Mainclass com.github.liketechnik.Build could not be found or loaded”(德语翻译)。当直接通过java -cp build/main com.github.liketechnik.Build
(例如直接在jar外部的类文件)运行这个类时,它无需工作。
我想这个小时,也搜索了错别字每一个文件,所以我感谢所有帮助这个问题,因为有关此类问题的其他线程没有与我的帮助。如果您直接需要更多信息或源代码,我将这个提供给您没有任何问题。
编辑:jar文件的新增结构。
JAR文件具有以下结构:
一个目录 “META-INF” 含有 “MANIFEST.MF” 与提及的条目。
一个目录结构 “COM/github上/ liketechnik/Build.class”(例如,包含其它类(在子包)太
清单:
Manifest-Version: 1.0
Main-Class: com.github.liketechnik.Build
生成。的java:
package com.github.liketechnik;
public class Build {
public static void main(String[] args) {
System.out.println("Hi");
}
}
输出时手动运行:Hi
(如预期) 从罐子运行时的输出:Fehler: Hauptklasse com.github.liketechnik.Build konnte nicht gefunden oder geladen werden
(为什么?)
JAR文件的结构是什么样的?您可以用任何ZIP工具打开它。 –
编辑我的答案显示结构。我也检查了这个文件,这似乎也正确的我。 – liketechnik
而不是描述文件的内容(如清单),只是**通过直接复制和粘贴显示**。你不一定要粘贴整个东西,但显示相关的部分比单独的英文描述更有帮助。 –