IntelliJ IDEA中"模块依赖关系"和"库"之间有什么区别?

moo*_*ara 33 java dependencies module jar intellij-idea

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

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

Rom*_*n C 12

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

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

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

  • 这篇文章帮了我很多,但你需要更新它.IntelliJ今天有一个选项可以自动复制所有jar文件并将你的Manifest链接到Class-Path中的jar文件.为此:在创建工件时选择JAR而不选择其他,然后在"库中的JAR文件"中选择"复制到输出目录并通过清单链接" (2认同)

Ami*_*deh 10

如果您的项目包含多个模块,"模块依赖"定义了这些模块之间的依赖关系,但库是模块使用的编译类(通常是jar文件,包含它们的源和javadoc).

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