繁体   English   中英

如何创建.jar来运行命令行应用程序

[英]how do I create a .jar to run command line application

为方便起见,我将使用hello world ...

public class HelloWorld{

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

按照您的想象编译并运行正常。 然后制作了一个文件Manifest.txt,其中包含:

Main-Class: HelloWorld

然后跑了:

jar -cfm Hello.jar Manifest.txt *.class

但是,当我双击生成的Hello.jar时,没有任何反应。 我希望控制台至少能快速弹出......(事实上我有一个更复杂的程序等待输入)

任何想法为什么这不起作用?

它在任务管理器(窗口)中启动一个进程,但没有cmd打开

确保清单文件中的Main-Class行之后是空行!
难以置信,但是规范要求清单文件的每一行(包括最后一行)都以换行符终止。

编辑:
如果问题只是双击,请尝试(假设Windows):

assoc .jar=jarfile
ftype jarfile="<JRE directory>\bin\javaw.exe" -jar "%1" %*

(使用不带参数的这些来检查实际设置)

您的客户端将需要JRE来运行Java程序-上述设置通常是通过安装JRE完成的。

EDIT2:
使用java.exe而不是javaw.exe来查看标准控制台(如果您的程序没有GUI)

尝试从命令行执行

java -jar /path/to/YourJar.jar

确保您有Main-Class条目


也可以看看

清单需要命名为MANIFEST.MF,它需要驻留在名为META-INF的顶级目录中。 然后它应该工作。

您应该尝试JSmooth 它将您的jar文件包装到Windows可执行文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM