maven java是什么_java – 和maven有什么区别?

&LT亲本GT; < dependencies>的超集

&LT亲本GT;和元素是两个截然不同的东西,但它们之间存在着重要的关系.

简单地说,父级定义了当前pom的父pom,依赖项定义了当前pom的实际依赖关系.

父pom可以定义依赖关系,但是孩子Maven项目继承的许多其他东西(特别是dependencyManagement元素和允许配置许多东西的构建元素)可以在某种程度上被视为依赖元素的超集.

这是elements inherited from the parent pom的清单:

groupId

version

description

url

inceptionYear

organization

licenses

developers

contributors

mailingLists

scm

issueManagement

ciManagement

properties

dependencyManagement

dependencies

repositories

pluginRepositories

build

plugin executions with matching ids

plugin configuration

etc.

reporting

profiles

作为使用依赖项和使用< parent>?

我们只能使用第一个,只能使用第二个或两个.

这实际上取决于Maven项目的设计方式.

试图列举所有可能的配置将是漫长的,并没有必要非常有帮助.

所以我认为你应该真正地保留父作为依赖关系的更多结构,因为它为子项目定义了更多的东西,但它也允许不重复你想要在一组项目中定义的实际配置.

因此,您应该优先使用parent,因为您希望继承一些子Maven项目的整体配置,而不仅仅是依赖项列表.

您的示例非常适合使用< parent>来说明客户端项目的后果.或依赖作为替代.

1)父母继承

这里的项目继承自spring-boot-starter-parent pom:

org.springframework.boot

spring-boot-starter-parent

1.5.2.RELEASE

因此,项目将继承依赖项和dependencyManagement中定义的任何内容,但它也将继承自< build>超级pom中定义的元素.

例如,您可以使用Java 8和UTF-8配置Maven编译器插件(您当然可以在子项目中重新定义):

UTF-8

1.8

@

${java.version}

UTF-8

${java.version}

此外,Spring Boot项目可能使用的其他一些插件也将在超级pom中定义,并由您的项目继承,例如:

...

org.springframework.boot

spring-boot-maven-plugin

repackage

${start-class}

...

请注意,父pom可以定义依赖项,由子项目直接继承,但不是必需的.

例如,spring-boot-starter-parent没有定义由子项目直接继承的任何依赖项,而是在< dependencyManagement>< dependencies>中定义依赖项.

这意味着此父pom的子节点可能使用依赖项,但它们必须在依赖项中明确声明它.

例如 :

org.springframework.boot

spring-boot-starter-parent

1.5.2.RELEASE

org.springframework.boot

spring-boot-starter-web

请注意,该版本未被视为已继承.

2)没有父继承

您必须通过Spring Boot应用程序定义所有必需的依赖项,或者更直接地使用importManagement中的spring-boot-dependencies依赖项和导入作用域,以便通过依赖项管理功能来声明它们:

org.springframework.boot

spring-boot-dependencies

1.5.2.RELEASE

pom

import

但在任何情况下,您都不会从父级配置的插件中继承,因为您没有父级.

因此,您应该在项目的pom.xml中明确声明它们.

例如,要定义编译器版本,使用编码并配置构建以重新打包构建的组件(使其成为独立的可执行文件),您将必须指定更多内容:

1.8

1.8

UTF-8

1.5.2.RELEASE

org.springframework.boot

spring-boot-dependencies

${springboot.version}

pom

import

org.springframework.boot

spring-boot-maven-plugin

${springboot.version}

repackage

myClass

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值