Java 在intellij中的模块之间使用共享JAR时,添加模块依赖项、库和全局库有什么区别?

Java 在intellij中的模块之间使用共享JAR时,添加模块依赖项、库和全局库有什么区别?,java,intellij-idea,jar,Java,Intellij Idea,Jar,我目前将JAR作为每个模块的依赖项包括在内,但这似乎是多余的。这三种方法与各自的用例之间是否存在差异 据我所知,唯一指定JAR或目录的地方是在添加模块依赖项时。添加库或全局库时,我可以选择Java、Maven或Kotlin/JS。因为我没有使用离开Java的Maven或Kotlin。即使有第三方库,即ApachePOI,我还会使用该选项吗 项目中使用的jar文件是否有一个标准位置?目前,JAR位于项目外部的公共位置。当我运行tomcat服务器并尝试使用网页中的jar时,我在jar的位置上得到了一

我目前将JAR作为每个模块的依赖项包括在内,但这似乎是多余的。这三种方法与各自的用例之间是否存在差异

据我所知,唯一指定JAR或目录的地方是在添加模块依赖项时。添加库或全局库时,我可以选择Java、Maven或Kotlin/JS。因为我没有使用离开Java的Maven或Kotlin。即使有第三方库,即ApachePOI,我还会使用该选项吗


项目中使用的jar文件是否有一个标准位置?目前,JAR位于项目外部的公共位置。当我运行tomcat服务器并尝试使用网页中的jar时,我在jar的位置上得到了一个“无法创建临时文件”错误。我知道这是由于位置受写保护,但我在eclipse中的设置是相同的,没有问题。

全局库可用于所有项目,您只需添加一次,然后在其他项目和模块中重用

如果在同一个项目中有多个模块需要此库,则可以使用项目库,这样就不必在每个模块中定义它。在一个地方更新库内容比在每个模块中都要容易

如果库仅在此特定模块中需要,则使用模块依赖关系

技术上没有区别,模块依赖项中存在的所有库都只是添加到类路径中

如果在项目中未使用Maven/Gradle/Ivy/SBT,则可能需要将jar存储在项目中,例如在
lib
目录中


要在web应用程序中使用JAR,它们必须也是您在服务器上部署的JAR。

谢谢。这让事情变得明朗了很多。特别是关于全局库的部分,我认为它仅限于项目或窗口。Eclipse必须以不同的方式处理这些库。我只是把它们放在tomcat安装中,它们是自动导入并可用的。但是不要忘记,如果您想让这个模块中的代码访问库中的类,那么包括全局库在内的任何库都必须添加到。