我写了一个程序:
public class SystemShutdown {
public static void main(String[] args) {
try{
for(int i=0;i<10;i++){
Thread.sleep(1000);
}
Process p=Runtime.getRuntime().exec("shutdown -s -t 2700");
}catch(Exception e){}
}
}
我编译并将.class
文件分开。
现在,我将清单文件写为:
Manifest-Version: 1.0
Main-Class: SystemShutdown
并以MANIFEST.MF
我将两个(.class
文件和MANIFEST.MF
文件)放在同一目录中。
现在我要创建一个Executable Jar
文件。为此,我做了:
jar cvfm MyJar.jar *.*
之后创建一个jar文件。
但是当我尝试执行它时会显示一条消息Java Exception occured
。
有人可以帮帮我吗? 我想在用户双击上执行这个程序。
除了上面的划痕,有人能告诉我创建可执行jar的确切步骤吗?
我正在使用Windows7 32bit
和jdk7
答案 0 :(得分:9)
m
命令行的jar
选项表示您将提供清单文件作为以下参数(在本例中,在jar文件本身之后)。所以我怀疑你想要:
jar cvfm MyJar.jar MANIFEST.MF SystemShutdown.class
有关详细信息,请参阅jar tool documentation。
编辑:我刚试过这个,它运行正常。代码:// In Test.java
public class Test {
public static void main(String[] args) {
System.out.println("Hello");
}
}
// Manifest in MANIFEST.MF:
Manifest-Version: 1.0
Main-Class: Test
命令行和输出:
javac Test.java
jar cvfm test.jar MANIFEST.MF Test.class
java -jar test.jar
Hello
请注意,如果清单中Main-Class
行末尾没有行终止符,则会导致错误,但指定的更好一些:
Failed to load Main-Class manifest attribute from test.jar