Java 罐子斜面';查找主类

Java 罐子斜面';查找主类,java,jar,executable-jar,Java,Jar,Executable Jar,我构建了一个jar文件,然后试图运行这个jar文件,我得到了一个臭名昭著的 Error: Could not find or load main class 我在目录树中有东西。 main文件夹包含manifestFolder,包含我的清单。 在main文件夹下还有我的source目录,该目录下有两个级别。 source=level1.level2.mainPackagedirectories-3级 主类位于包和文件夹中-mainPackage 舱单内容: Manifest-Version:

我构建了一个jar文件,然后试图运行这个jar文件,我得到了一个臭名昭著的

Error: Could not find or load main class
我在目录树中有东西。
main文件夹
包含
manifestFolder
,包含我的清单。
main文件夹下还有我的
source
目录,该目录下有两个级别。
source=
level1.level2.mainPackage
directories-3级
主类位于包和文件夹中-
mainPackage

舱单内容:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 20.1-b02 (Sun Microsystems Inc.)
Main-Class: level1.level2.mainPackage.MainApp
Class-Path: lib/appframework-1.0.3.jar lib/swing-worker-1.1.jar 
X-COMMENT: Main-Class will be added automatically by build
我用这个命令构建jar

jar -cfmv NewTool.jar manifestFolder\MANIFEST.MF level1\level2\dynamictnd

您的jar命令似乎不正确

jar -cfmv NewTool.jar manifestFolder\MANIFEST.MF level1\level2\dynamictnd 
包括
level2
(仅限)的
dynamictnd
文件夹。你需要像这样的东西

jar -cfmv NewTool.jar manifestFolder\MANIFEST.MF level1

将所有内容置于
级别1
之下。最后,使用
jar-tvvf
(或winzip)检查jar文件,确保它包含您的
Main类(如发布的,它不能,因为您的主类位于“level1\level2\mainPackage”下)。

我们可以查看主类的代码吗?@BitNinja假设它是“HelloWorld”-重要吗?重要的是:用于运行jar文件的代码,可能还有目录树的屏幕截图(描述不清楚)。您的主要类名是什么,以及您的jar在7-Zip(或同等版本)中是什么样子的?我们还需要查看完整的stacktrace和错误消息。我尝试了不同的命令,然后打印出内容,主类在jar文件中。当我输入jar-tvf-NewJar.jar时,它输出这个测试项目/bin/MainTest.class。如何在清单中指定此路径。是否将/更换为@user3470688确实如此,但它必须与实际的包结构相匹配。我想您实际上想要的是
jar-cfmv NewTool.jar manifestFolder\MANIFEST.MF“Test Project\bin”
,但因为您的示例在一个包中,所以我假设您的真实代码也是。是的,我需要指定什么来让它工作。我尝试了清单中的各种变体,但没有成功。如果我根本没有包名呢。我是否使用defautlYou将使用我上次评论中的
Main类:MainTest
jar
命令。如果这就是你默认的意思。