所以我对 Java 尤其是 Eclipse 还很陌生,所以请原谅我的无知。我从服务器上获取了一个项目并将其本地复制到我的计算机上。当我打开工作区时,由于无法找到 jar ,我遇到了很多错误。这是有道理的,因为我没有与我复制的服务器相同的目录结构。因此,如果我将相同的外部 jar 复制到我的计算机上并将其编译成 jar 并将其复制回服务器,它会起作用吗?或者它会失败,因为现在外部 jar 位于与预期不同的位置?
另外,我应该将外部 jar 放入常规 jar 中以避免这个问题吗?
最佳答案
你应该没事。 Java 使用所谓的类路径来定位依赖项。开发计算机上的类路径可能有所不同,但只要所有依赖项都位于生产中的类路径上,一切都应该有效。
为了避免目录结构同步问题,最常见的方法是使用 Maven - 它将为您管理所有依赖项(但您必须管理 pom.xml - Maven 的项目描述符)。有点笨拙的方法是在项目中添加依赖项,但是最终可能会出现许多项目必须包含相同的 jar,然后会出现版本冲突等问题。
对于小型项目,您可以自己管理依赖项,但是较大的项目需要更仔细地考虑策略(例如 Maven)。
对于可执行 jar,请确保 ourjar.jar
并假设这是其 MANIFEST.MF 中的一个片段:
Class-Path: lib/myteamjar.jar
然后预计会出现以下目录结构:
lib/myteamjar.jar
ourjar.jar
关于java - 了解 Eclipse 中的外部 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398382/