启动没有终端

时间:2016-02-06 23:15:28

标签: java eclipse jar

我已经从Eclipse导出我的Java项目" Runnable JAR文件"使用"将所需的库提取到生成的JAR"中。当我尝试通过双击启动它时,文件闪烁没有任何反应。当我尝试从java -jar Main.jar这样的终端运行它时,它运行正常。

Main.java

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

在看到一些stackoverflow答案后,我还提取了jar文件以检查MANIFEST.MF文件

MANIFEST.MF

Manifest-Version: 1.0
Class-Path: .
Main-Class: Main

Java版

java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

OS

OS X El Capitain
Version 10.11.13

2 个答案:

答案 0 :(得分:0)

通过双击执行它也可以正常工作。但由于这个程序非常短,因此可以快速打印" Hello World"并再次关闭。这让你觉得什么都没发生。添加代码的最后一行

try{
    Thread.sleep(10000);
}catch(Exception e){}

让它运行更长时间并再试一次。

答案 1 :(得分:0)

问题在于,当您双击jar文件时,操作系统仅在应用程序的生命周期内启动终端。由于您的只有一条线并立即终止,终端也会立即消失。

如果您希望在完成执行此类操作后可以暂停程序:

System.out.println("Hello");
while(true) {
    synchronized (Main.class) {
        try {
            Main.class.wait();
        } catch (InterruptedException e) {
        }
    }
}

在用户手动终止程序之前,它将无限期地等待。