0

我刚刚开始了我的第一个 Java 程序。我创建了一个批处理文件来运行我的命令行参数。在这个程序中,我正在用 HelloWorld.java 编写一个“HelloWorld”字符串

class HelloWorld
{
public static void main(String [] args)
{
    System.out.println("HelloWorld!!");
}
}

现在,在我将 java 添加到我的路径后,我在 .bat 文件中使用以下内容。

 javac HelloWorld.java  //to complie
 java HelloWorld    //toRun
 jar -cvf HelloWorld.jar HelloWorld.class  //creating a archive
 jar -xf HelloWorld.jar  //Extracting and finding the manefest 

从我的 jar 文件中,我现在必须编辑清单文件并将我刚刚编写的类设置为 jar 文件的主类,我已经完成了如下操作:

jar -cmf HelloWorld.jar Manifest.txt HelloWorld.class  //Here is the problem
java -jar HelloWorld.jar //here I am trying to run it
pause 

我似乎无法编辑清单。我有命令提示错误还是我输入错误?

4

1 回答 1

0

Manifest 是 META-INF 目录中名为“MANIFEST.MF”的文件。所以,你需要让你的最终代码在文件系统上看起来像这样:

HelloWorld.class
WEB-INF
    MANIFEST.MF

然后把它全部罐起来。

最后,您还应该将 HelloWorld.class 放入一个实际的包中:

package pkg;

public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}

然后您的最终产品将如下所示:

pkg
    HellowWorld.class
META-INF
    MANIFEST.MF

你的最终班级名称将是pkg.HelloWorld.

使用 Java 中的实际包可以更好地工作,最好立即使用它们并避免麻烦。

注意:哦,我的错误,我没有注意到 -m 标志的使用——所以习惯于清单只是构建工件的一部分的大型项目。

于 2013-02-10T21:46:59.867 回答