为什么Java程序使用.bat文件作为程序启动器?

CMW*_*CMW 8 java batch-file

我发现Windows中的很多Java程序都使用.bat批处理文件作为程序启动器.如果与使用.exe可执行文件的其他程序相比,它看起来很奇怪.

为什么那些Java程序不能使用.exe文件?这是Java程序的限制吗?

谢谢.

Len*_*lov 12

只需创建一个.bat文件并将其包含java -jar <archive-path>在其中并使其运行即可.您可以轻松编辑.bat文件并进行更多配置.你需要的只是记事本.

此外,它看起来非常像Linux的bash脚本文件.这使得用于执行.jar中的程序的.bat文件很容易从Win转移到Linux.

虽然.exe文件不容易修改(如果有的话)并且它产生一些元数据,但生成的.exe更大... EXE也是Windows特定的文件扩展名...

当然,如果你想把所有内容打包在一个文件中,让用户不必担心删除.jar文件但仍然有蝙蝠......这是另一种情况.


Xor*_*rty 9

批处理文件经常执行"java -jar"并另外添加JVM参数 - 这不能添加到jar文件中.

编写bat文件比将java存档包装到exe文件更快 - 这些工具通常是商业的或不能正常工作......

此外,在java中完成的本机Windows可执行文件(.exe)并不多(但是,它仍然可能 - vuze,limewire等)