首页 > 解决方案 > 是否可以通过双击 Windows 上的 jar 文件来启动进程?

问题描述

我编写了这个小型 java 程序来了解 jar 文件如何在 Windows 上工作。

package ch01;

import java.util.Scanner;

public class Hello {

    @SuppressWarnings("resource")
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println(sc.next());
        System.out.println(sc.next());
    }
}

我使用以下内容进行了构建

javac ch01/Hello.java
java ch01.Hello
jar cfe ch01.jar ch01.Hello ch01/*.class

和这个命令

java -jar ch01.jar

设法从windows cmd调用程序,该进程出现在任务管理器中

但是,当我从文件资源管理器中双击 jar 文件时,什么也没发生,没有启动控制台,也没有运行任何进程。我错过了什么?

标签: javajar

解决方案


您需要使用-mor--manifest选项创建一个添加到 jar 文件的清单文件:

jar --manifest=manifest.mf …

该清单文件必须包含如下条目:

Main-Class: ch01.Hello

另请参见此处:https ://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

当然,您需要以*.jar文件链接到java.exe.


推荐阅读