java - 类路径和可移植性

标签 java eclipse classpath

我是 Java 新手,正在使用 Eclipse 编写 Java 代码。

我添加了许多库 (.jar) 文件作为引用的库。我还将我的项目导出为 JAR 文件。我的问题是,如果我在引用的库与我的计算机不在同一位置的计算机上运行此文件,它会成功运行吗?

我还制作了一个可运行的 JAR 文件,其大小比之前的文件 (~24 KB) 要大得多 (~29 MB)。

最佳答案

My question is if I run this file on a computer where the referenced libraries are not at the same place as in my computer, will it run successfully?

没有。您需要将引用的 JAR 与您的程序 JAR 一起打包。对于最终用户来说,必须下载程序所依赖的所有库会很不方便。有几个选项,都可以使用 Eclipse 导出功能。

  1. 解压所有依赖 JAR,并将它们与您的代码一起打包到一个可执行 JAR 中。
  2. 在程序 JAR list 中指定类路径,其中将包含依赖 JAR 位置的相对路径。例如,它们可能位于 lib 文件夹中。对于所有最终用户来说,lib 文件夹相对于程序 JAR 的位置需要相同,因此将它们打包在一起是有意义的。

关于java - 类路径和可移植性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15708056/

相关文章:

java - 如果我知道它的文件名,有没有办法在 Eclipse 中快速直接地找到一个 java 文件?

java - 如何使用 ExecutorService 等待所有线程完成?

java - Maven - java.lang.ClassNotFoundException : com. mysql.jdbc.Driver

java - Spring boot模型映射器不满足依赖异常

eclipse - Eclipse 中的子项无法使用来自父 POM 的 Maven 3 依赖项

java - 如何更改Eclipse使用的Java路径?

eclipse - 如何将JAR库添加到WAR项目而不面临java.lang.ClassNotFoundException?类路径 vs 构建路径 vs/WEB-INF/lib

java - 从bat文件调用java类

java - 如何并行化列表的映射?

java - 如何让我的应用程序图标在 Mac dock 中弹跳