我一直在使用JAR文件在学校的Java主题中导出我的项目。我注意到它的可移植性(假设使用的计算机安装了Java)。但是,有了这个事实,为什么我没有看到开发人员使用JAR文件分发Java程序?使用JAR可执行文件的优点(除了可移植性)和缺点(除了使用C ++之外)是什么?
答案 0 :(得分:5)
问题有两个组成部分。第一个是运送JAR而不使用安装程序。该问题的第二个组成部分是在部署可执行文件后仅在机器上使用JAR的优缺点。我开始怀疑OP是在询问第一个组件。我的回答试图回答第二个组成部分。
赞成
缺点
生成可执行文件的另一种方法是使用JNLP。在将用户转发到.jnlp文件之前,网页可以检查java。
答案 1 :(得分:4)
我希望这些优势非常明显。我遇到的最大缺点是,当JAR中没有包含所需的其他依赖项时。可以包含MANIFEST来设置类路径 - 但这要求所有依赖项都与预定义位置中的预定义名称一起存在。这可以通过加载器脚本(设置类路径等)来解决 - 此时不再包含在单个JAR中的所有内容,并且大多数优点都会丢失。