我目前将 jar 作为每个模块的依赖项包含在内,但这似乎是多余的。这三种方法和各自的用例之间有区别吗?
据我所知,唯一指定 jar 或目录的地方是添加模块依赖项时。添加库或全局库时,我可以选择 Java、Maven 或 Kotlin/JS。由于我不使用 Maven 或 Kotlin,因此不再使用 Java。即使使用第三方库(即 Apache Poi),我是否仍会使用该选项?
项目中使用的 jar 文件是否有标准位置?目前,这些 jar 位于项目外部的公共(public)位置。当我运行 tomcat 服务器并尝试使用网页中的 jar 时,我在 jar 的位置收到“无法创建临时文件”错误。我知道这是由于该位置被写保护,但我在 Eclipse 中进行了相同的设置,没有问题。
最佳答案
全局库适用于所有项目,您只需添加一次即可在其他项目和模块中重用。
如果同一项目中有多个模块需要该库,则可以使用项目库,这样您就不必在每个模块中定义它。在一个地方更新库内容比在每个模块中更新要容易。
如果仅在此特定模块中需要该库,则使用模块依赖项。
技术上没有区别,模块依赖项中存在的所有库都只是添加到类路径中。
如果您在项目中没有使用 Maven/Gradle/Ivy/SBT,您可能希望将 jar 存储在项目内,例如在 lib
目录中。
要在 Web 应用程序中使用这些 jar,它们也必须是 included into the artifact您正在服务器上部署。
关于java - 在intellij中的模块之间使用共享jar时,添加模块依赖项、库和全局库有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56081826/