.jar文件是否需要运行计算机上安装的所有类?例如:如果我曾经将程序作为.jar文件分发,我是否还需要在用户计算机上安装所有.class文件?如果是这样,是否可以将Java程序作为一个文件(例如可执行文件)分发?
答案 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中。通过后一种方式,用户可以使用相同的构建工具下载依赖项。通常,后一种方法更好。