【问题标题】:Making and Creating a self-contained Jar file using command prompt使用命令提示符制作和创建一个独立的 Jar 文件
【发布时间】:2014-12-04 04:01:49
【问题描述】:

我的简单“hello, world”程序具有以下文件结构:

根 测试类.class manifest.txt

这是TestClass.java中包含的源代码:

 package root;

    public class TestClass {

        public static void main(String[] args) {
            System.out.println("Executable jar worked!");
        }

    }

manifest.txt 包含这个(它确实以换行结尾):

Main-Class: TestClass

在 cmd.exe(Windows 7,如果相关)中,我使用以下命令创建了一个 .jar:

jar cvfm TestClass.jar manifest.txt TestClass.class

产生了以下内容:

    added manifest
adding: TestClass.class(in = 439) (out= 303)(deflated 30%)

当我尝试执行这个新的 jar 文件时出现问题。我第一次尝试简单地输入 TestClass.jar 并且这绝对没有输出 - 相当于只是按 enter..

接下来,我尝试了这个:

java -jar TestClass.jar

这给了我:

Error: Could not find or load main class TestClass

所以我的问题是:如何仅在命令提示符下生成和运行 jar 文件,以便可以在 cmd 中看到输出?

我希望它是独立的和可执行的,就像 chrome.exe 一样。 提前谢谢你。

【问题讨论】:

    标签: java manifest executable-jar command-line-tool


    【解决方案1】:

    你必须在清单文件中指定一个完全限定的类名

    在您的情况下,您必须指定包名根目录,因此您的 manifest.txt 应包含以下内容

    Main-Class: root.TestClass
    

    注意:您必须将 TestClass.class 文件放在名为 root 的目录中(即包名应与目录名匹配)

    root/TestClass.class
    

    使用此命令创建 jar 文件

    jar cvfm Test.jar manifest.txt root/TestClass.class 
    

    【讨论】:

    • 刚试了下还是不行。将清单类编辑为 root.TestClass 并尝试了两种运行方式;找不到类 root.TestClass
    猜你喜欢
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2012-04-15
    • 1970-01-01
    • 2018-10-17
    • 2014-01-23
    • 1970-01-01
    相关资源
    最近更新 更多