为了账号安全,请及时绑定邮箱和手机立即绑定

尽管对可执行 jar 使用了清单文件,但我仍然收到“无法找到或加载主类”错误

尽管对可执行 jar 使用了清单文件,但我仍然收到“无法找到或加载主类”错误

摇曳的蔷薇 2021-09-29 17:08:32
基本上我是在学习一个可执行jar文件的编译过程。因此,为此,在一个目录中src\com\mftest,我有一个名为 的文件Test.java,其中包含以下内容。package com.mftest;public class Test{        public static void main(String args[])     {            System.out.println("Hello from Test!");    }}现在,从主文件夹(一个包含src文件夹),我也有文件夹bin,我输入javac -d bin src\com\mftest\Test.java. 这将创建文件bin\com\mftest\Test.class。然后,在文件夹中bin\com\mftest,我创建了一个Manifest.txt包含以下内容的文件。请注意,这里有两行,第二行为空。Main-Class: com.mftest.Test在bin\com\mftest文件夹中,我现在键入jar cmvf Manifest.txt Test.jar  *.class以创建文件bin\com\mftest\Test.jar. 我希望该文件是可执行的,但是当我尝试通过键入运行它时java -jar Test.jar,出现以下错误。Error: Could not find or load main class com.mftest.TestCaused by: java.lang.ClassNotFoundException: com.mftest.Test任何想法,我在这里做错了什么?
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

在 bin\com\mftest 文件夹中,我现在输入 jar cmvf Manifest.txt Test.jar *.class 来创建文件 bin\com\mftest\Test.jar

我想我看到了你的问题。

如果您运行,jar tvf Test.jar我希望您会看到Test.classJAR 文件中文件的路径是"/Test.class". 应该是"/com/mftest/Test.class"

您的错误是将目录更改为bin\com\mftest. 您应该已经从bin目录中创建了 JAR 文件,以使 JAR 中的路径名正确。

请注意,您包含在 JAR 中的清单文件可以在任何地方。您只需要在jar命令中为其提供正确的(文件系统)路径。


查看完整回答
反对 回复 2021-09-29
  • 1 回答
  • 0 关注
  • 166 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信