档案PrintTest.java
:
public class PrintTest{
public static void main(String[] args){
System.out.println("Why are you executing me?");
}
}
档案Manifest.txt
Main-Class: PrintTest
我的命令我跑到压缩到.jar
:
jar cfm PrintTest.jar Manifest.txt PrintTest.class
我也试过这个(即使没关系):
jar cmf PrintTest.jar Manifest.txt PrintTest.class
我的目录结构:
C:\Program Files\Java\jdk1.6.0_24\PrintTest_jar
PrintTest_jar
:PrintTest.java
,PrintTest.class
,Manifest.txt
,PrintTest.jar
当我双击.jar
文件时,没有任何反应。没有错误,没有。
PrintTest.class
从命令行运行正常。我也在Windows上运行。
答案 0 :(得分:2)
当我双击.jar文件时,没有任何反应。没有错误,什么都没有!
当这样启动时,控制台窗口将在程序执行完毕后立即消失。要查看输出,您应该从控制台运行程序,而不是双击jar文件。
编辑:要延迟程序终止,您可以执行以下操作:
Scanner scanner = new Scanner(System.in);
System.out.print("Press Enter to exit...");
scanner.next();
但是,我认为从控制台运行控制台应用程序更有意义。
答案 1 :(得分:1)
为了延迟它而给你的代码是正确。但是,您需要从Java库导入实用程序才能使其正常工作。甚至在你的班级身体之前输入。
import java.util.Scanner
答案 2 :(得分:1)
如果我理解您的问题并显示您的清单文本文件,那么您必须确保文本文件在最后一行文本后面包含换行符,否则将无法正确处理。有关详情,请参阅此处:http://download.oracle.com/javase/tutorial/deployment/jar/modman.html
答案 3 :(得分:1)
我亲爱的朋友,你的应用程序是DOS程序,只能在DOS下运行,你没有创建GUI程序,如果它是一个GUI程序,它至少会显示在计算机上...... DOS是对于DOS而言......对不起。