IntelliJ IDEA中的“模块依赖”和“库”有什么区别?

2022-09-01 04:41:49

当您想要将库添加到项目中时,IntelliJ IDEA中的“模块依赖项”和“库”之间有什么区别?另外,当您将库添加到IntelliJ IDEA中的“模块依赖项”时,“导出”复选框是什么?.jar.jar

在上述每一种方式中,在创建新生成的文件时,所包含库中的类和代码如何集成到最终项目(代码)中?.jar.jar


答案 1

模块依赖项是模块文件引用的类、归档文件、库和资源。而库是存储在存档或目录中的一组类文件。

导出检查意味着如果选中,则此库将隐式添加到引用此库的其他模块中。

若要创建.jar文件,需要创建一个项目。项目是建筑物输出的占位符。有预定义的模板用于创建.jar.war.ear存档。您可以选择 jar 来构建 jar 工件。默认情况下,它被定义为空,你需要定义项目的内容。您可以将编译的输出拖放到其中,但不要对库存档执行此操作。因为在这种情况下,库将被打包在.jar文件中,并且您需要创建一个单独的类装入器来加载它们,然后再启动应用程序。相反,您将项目类型更改为“其他”,并将.jar和依赖库拖到输出根目录中。这样,图书馆档案将与创建的.jar一起复制。您还需要创建清单。MF,并在其中为依赖库指定类路径。所有文件都将存储在您为构建工件而指定的目录中。您可以使用“构建项目”菜单构建它。


答案 2

如果项目包含多个模块,则“模块依赖关系”定义了这些模块之间的依赖关系,但库是模块使用的编译类(通常是 jar 文件,可选地包含其源代码和 javadocs)。

每个模块都可以有自己的库和工件(例如结果jar文件),并且可以依赖于其他模块而没有循环依赖关系。


推荐