做了两个程序,一个是swing的,一个不是。
两个都导出为runnable jar
swing的双击可以运行,但是另外一个却要在cmd下输命令才行,为什么?

解决方案 »

  1.   

    jar的META-INF\MANIFEST.MF文件中添加Main-Class配置,参考JAVA_HOME\demo\jfc\下的jar
      

  2.   

    因为在系统中 jar 文件是与 javaw.exe 文档关联的,你双击后会使用 javaw 命令去执行。javaw.exe 与 java.exe 是一模一样的东西,只不过 javaw.exe 执行时不会打开操作系统控制台,而 java.exe 会开启操作系统的控制台。如果是一个纯控制台应用程序的话,双击时程序实际上已经运行着,只是看不到而已,因为 javaw.exe 进程并没有打开操作系统控制台,所以你就看不到了。