.jar文件是否需要计算机上安装的所有类才能运行?

时间:2020-08-30 23:18:05

标签: java jar .class-file

.jar文件是否需要运行计算机上安装的所有类?例如:如果我曾经将程序作为.jar文件分发,我是否还需要在用户计算机上安装所有.class文件?如果是这样,是否可以将Java程序作为一个文件(例如可执行文件)分发?

3 个答案:

答案 0 :(得分:1)

这取决于您如何构造罐子。 jar中的类可以取决于jar中的其他类,和/或取决于系统上安装的其他jar中的类。在后一种情况下,如果您将jar分发给其他用户,则它们可能无法工作。

您需要确保构建和分发的jar包含您正在使用的所有依赖项。我听说Maven可以在这里提供帮助。

答案 1 :(得分:0)

这些类被编译到.jar文件中,因此您不必在每台计算机上都安装它们。是的,有一种方法可以分发可执行的.jar文件。

答案 2 :(得分:0)

.jar文件实际上是可执行文件。您可以使用java -jar jarFile执行它。

jar是否包含要运行jar的所有类,取决于您如何构建。
您可以将所有依赖项打包到称为胖jar的jar中,也可以声明自己的依赖项,并使用maven或gradle之类的构建工具将自己的类打包到jar中。通过后一种方式,用户可以使用相同的构建工具下载依赖项。通常,后一种方法更好。