类路径和可移植性

时间:2013-03-29 17:12:55

标签: java eclipse classpath

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

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

我还创建了一个runnable JAR文件,与前一个文件(~24 KB)相比,它的大小要大得多(~29 MB)。

3 个答案:

答案 0 :(得分:1)

您甚至可以将参考库捆绑在同一个jar中。因此,当您将大小减小到这个程度时,我假设您从jar中删除了这些,这在大多数情况下不是好方法。建议不要包含引用的jar,除非你100%(甚至不是99.9%)确定这些库将在你想要运行的系统中。

修改 要在eclipse中包含引用的jar,你需要转到 的项目性状> Java的构建路径>订单和出口 在这里检查你想要的任何库。

答案 1 :(得分:1)

这取决于您使用runnable jar应用程序打包jar的方式。如果你在jar内部或外部进行,那么你应该为manifest.mf创建一个类路径条目。

答案 2 :(得分:1)

  

我的问题是,如果我在计算机上运行此文件,其中引用的库与我的计算机不在同一个位置,它是否会成功运行?

没有。您需要将引用的JAR与程序JAR一起打包。最终用户必须下载程序所依赖的所有库是不方便的。两个选项,都可以使用Eclipse Export函数。

  1. 解压缩所有相关JAR,并将它们与您的代码一起打包到一个可执行的JAR中。
  2. 在程序中指定JAR清单中的类路径,该路径将包含相关JAR位置的相对路径。例如,这些可以在lib文件夹中。 lib文件夹相对于您的程序JAR的位置对于所有最终用户都需要相同,因此将它们打包在一起是有意义的。