【问题标题】:Import Maven plugin导入 Maven 插件
【发布时间】:2016-06-12 09:28:18
【问题描述】:

我现在正在尝试学习 Spring。 几乎在每个 Spring 教程中,您都从一个项目开始,该项目有一个“spring-starter”项目作为父项目。 然而,到目前为止,我使用父级来定义我所有项目都应该拥有的一些常见依赖项(如 junit 或 yodatime)和插件(如 maven-compiler-plugin)。我把那个共同项目作为我大部分项目的父项目。 现在我不能那样做了,因为父级的角色被spring项目占据了。 我可以在这个项目中再次定义常见的依赖项和插件,但是似乎很容易拥有不同的版本,总而言之,它看起来很像糟糕的代码。

我现在的问题是,有没有一种方法可以定义“一组”依赖项和/或插件并将它们导入项目而无需父项?

【问题讨论】:

    标签: java spring maven dependencies


    【解决方案1】:

    通常,我在 Eclipse 中所做的是创建一个通用项目。创建后,我右键单击我的项目,然后按配置-> 转换为 maven 项目。我认为在 Spring 中会有一种等效的方法。

    另一种选择(同样在 eclipse 中,抱歉,如果它在 spring 中有所不同,但它应该有一个等价物)是创建一个简单的 maven 项目:

     New project -> Maven project -> 
     Check on "Create a simple project (skip archetype selection) -> 
     Next -> Enter your artifact group ID and artifact ID and click finish.     
    

    即使不选择父应用程序也应该可以解决问题。

    我更喜欢第一种选择,因为我已经为我填写了所有内容,但他们都做同样的事情。

    【讨论】:

    • 我不确定我们是否在谈论同一件事 :) 我将 eclipse 与 maven 一起使用,但我正在尝试学习 Spring Boot 框架(它是 JavaEE 的替代方案)。在大多数 Spring Boot 教程中,他们通过使用预定义的 Parent 项目来获取它们的依赖项,因此我无法定义自己的 parent 来获取我自己定义的一组依赖项。基本上我有两个包含许多依赖项的“包”,我正在寻找一种简单的方法将它们都放入一个新项目中。
    • 但是您可以稍后在 pom.xml 文件中添加依赖项。您只需要知道您为这些包设置的组/工件 ID 并稍后添加它们。对不起,也许我误解了你:) 你有每个包的 pom 文件吗?如果你这样做,它们将包含一个“主要”组 id 和工件 id,如果你在新的 pom 中包含它,它应该可以工作
    • 我真的认为我们不会互相理解 :) 假设我有一个项目 A,有依赖项 D1、D2、D3 和一个项目 B,有依赖项 D4、D5 和 D6。我现在想创建一个新项目 C,具有依赖项 D1、D2、D3、D4、D5 和 D6,但我不想手动导入它们(因为实际上,每个依赖项大约有 50 个)。如果我想告诉 maven “从项目 A 导入每个依赖项”,我会让项目 A 成为项目 C 的父项。但我想告诉 maven “从项目 A 和项目 B 导入每个依赖项”,但我不能A 和 B 是父母。
    • 但是如果项目 A 和 B 有自己的 pom,你所要做的就是(不设置任何父项)创建项目 C 并将 A 和 B 作为依赖项导入。这将自动解决其余的依赖关系:)
    • 仅当您使用“pom”类型导入它们时,但您是对的。
    【解决方案2】:

    我没有机会尝试,但似乎 Guillaume Darmont 在How to use POMs as a dependency in Maven? 中的回答正是我的问题的解决方案。

    也许这就是你 (randombee) 想要告诉我的,但我不太明白 :)

    【讨论】:

    • 这正是我试图解释的,但我说得不够清楚,我猜......希望它无论如何都能解决你的问题:)
    猜你喜欢
    • 2021-11-14
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多