38

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

在这些方式中,包含.jar库中的类和代码在创建新生成的文件时如何集成到您的最终项目(代码)中.jar

4

4 回答 4

13

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

导出检查意味着如果选中,那么这个库将被隐式添加到引用这个库的另一个模块中。

要创建.jar文件,您需要创建一个工件。Artifact 是建筑输出的占位符。有用于创建.jar.war.ear档案的预定义模板。您可以选择 jar 来构建 jar 工件。默认情况下,它定义为空,您需要定义工件的内容。您可以将已编译的输出拖放到其中,但不要使用库存档。因为在这种情况下,库将被打包在.jar文件中,并且您将需要创建一个单独的类加载器来在应用程序启动之前加载它们。相反,您将工件类型更改为Other并将.jar和依赖库拖到输出根目录中. 这样库档案将与创建的.jar一起复制。您还需要创建一个 MANIFEST.MF 并在那里为依赖库指定Class-Path 。所有文件都将存储在您为构建工件指定的目录中。您可以使用Build Artifact菜单构建它。

于 2012-09-04T21:02:07.247 回答
10

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

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

于 2012-09-04T22:00:20.393 回答
3

Module Dependencies选项卡可以包含LibrariesExport意味着模块中的库也可用于依赖于该模块的另一个模块。

可以使用Artifacts创建具有所有依赖项的最终 jar 。

于 2012-09-04T19:07:59.867 回答
3

“在 IntelliJ IDEA 中,可以在三个级别定义库:全局(适用于许多项目)、项目(适用于项目内的所有模块)和模块(适用于一个模块)。”

  • 全局库通过 Project Structure\Platform Settings\Global Libraries 设置
  • 项目库是通过 Project Structure\Project Settings\Libraries 设置的
  • 模块库通过 Project Structure\Project Settings\Modules\Dependencies 设置
于 2019-04-25T13:34:42.353 回答