.jar文件夹如何可移植



我正在开发一个JavaFX应用程序。在构建项目时,我注意到当我更改其位置时,我的jar文件夹无法打开。我检查了我的jar文件夹,发现我的lib文件夹丢失了。

如何解决此问题?

您的 JAR 文件需要类路径中的库才能运行。每当你移动jar时,你也需要移动libs文件夹。

如果你想避免有

工具将库打包到一个jar中,但通常要避免这种方法,因为它使构建,增量更新等变得更加困难。

我认为你在这里混淆了可移植性的定义 - 当人们谈论jar文件是可移植的时,他们通常意味着它可以在多个架构上运行而无需更改(因为它使用字节码。他们通常不的意思是,你可以把它从它的位置撕下来,把它转储到其他地方,并期望它神奇地找到它需要的所有资源!

通常你的jar文件只包含你的类文件,也许还有一些杂项资源。虽然您的应用程序所依赖的所有内容都可以位于一个 jar 文件中,但将它们放在该文件之外的同一目录中更为常见,因为它可以更轻松地更换单个组件和更新软件。

如果你绝对必须将你的应用程序放在一个可移植的jar文件中,那么看看One-jar,它就是这样做的。

使用 maven 包含项目中的所有依赖项。更易于管理。