当前位置: 首页 > 面试题库 >

Maven术语-依赖关系和插件,存储库与pluginRepository

顾单弓
2023-03-14
问题内容

我已经和Maven一起工作了几天,但对某些术语仍然感到困惑:

第一个问题是repository和和有什么区别pluginRepository?如果存在功能差异,那么我应该为两个网址都放一个网址吗?

第二个问题是dependency和和有什么区别plugin?也许它们是完全不同的项目,因为plugin可以包含dependencies,但是在我plugins看来,构建中是否存在某种依赖关系?就像“这build取决于这些插件,而其中一个插件取决于依赖项”一样,我始终认为依赖项是一种库jar,插件是库jar或依赖于jar中的项目。

抱歉,这个问题有点愚蠢,但我真的很困惑。请给一个提示,谢谢。


问题答案:

回到Maven1.0,据我所知,插件和常规工件位于不同的存储库中。在Maven2
+中,它们一起存储在存储库中。但是,来自许多不同公司和项目的存储库很多,因此您必须选择所需的存储库。

插件是您在执行Maven构建时使用的工具。例如,编译器插件将您的Java代码编译为Bytecode。正常的依赖关系是您在应用程序中使用的工件(例如库)。

插件和工件都可以具有传递依赖项。那意味着他们自己有依赖性。



 类似资料:
  • 我试图理解maven是如何从存储库中下载二进制文件的。 例如,我的项目有以下依赖关系: 现在,这些二进制文件出现在http://mvnrepository.com/. 在pom.xml中,我们有

  • 我想将审核更改持久化到oracle db。micro服务是一个带有hibernate的Spring Boot应用程序。我在javers的mvn存储库链接中发现了许多依赖项 我应该为oracle db使用哪个依赖项?

  • 我们有一个多模块maven项目,它最近由Ant Ivy转换而来。其中一个模块是一个遗留的自定义可插入组件,它在类路径上查找插件并加载它们。多模块项目中的另一个模块是由上述插件运行的插件实现。 当从eclipse运行配置运行自定义应用程序服务器时,我们必须在类路径上包含每个插件。当我们在eclipse工作区中构建时,这些插件并没有编译成jar。因此,没有要包含的jar工件。 如果我将插件模块项目作为

  • 问题内容: 我正在运行一个依赖groovy 1.7-beta-1的项目。gmaven插件使用groovy 1.6版作为依赖项。在pom中,我在依赖性管理部分中将grooyv-all版本指定为: 但是,当我在调试模式下运行maven时,我看到groovy 1.6被用于对gmaven插件的依赖。我以为我的依赖项管理部分会重写此设置,因此它们都使用1.7-beta-1,但是由于常规版本不同,我遇到了错误

  • 如何将这个插件添加为依赖项和插件?我如何将此用作依赖项? 谢谢

  • 问题内容: 我有一个依赖关系如下: 当我部署一切正常时,这将拉下另一个引发ClassDefNotFound的依赖项。 我添加了两个依赖项,如下所示: 并且仍然面临着同样的问题,即:MVN带来下来不 我该如何解决? 编辑: 添加; 问题答案: 您可能有一个传递依赖项,另一个依赖项取决于您不需要的版本。 要获得所有直接和传递依赖关系的概述,请尝试: mvn依赖项:树 如果您发现同一依赖项的不同版本之间