以前觉得jar可能就是java版的exe,但是最近发现压根就不是这样,exe可以把静态链接库直接打包进exe,但是jar如果不借助其它插件默认不能调用打包在内部的jar第三方包,大部分exe编译工具,其资源文件比如xml,图片,配置文件,如果放在项目的指定目录下,编译exe后,资源会处于exe内部,按照“指定目录/文件名”的路径可以直接调用,但是jar打包时,是默认把这些资源指定目录下的文件和目录全部拷贝到bin目录下直接打包的,由于少了指定目录本身,会造成jar执行的时候找不到这些文件,这个怪异的设定让我非常不解,当初java的设计者是为了什么要设计成这样?