maven classifer属性 、import scope、type pom

阅读数:109 评论数:0

跳转到新版页面

分类

应用软件

正文

一、classifier属性作用

比如JSON-lib,其jar提供了两个版本的SDK

这个时候就必须使用classifier属性指定。

<dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier> 
        </dependency>

如果不定义classifier的话,maven就会找到不jar文件 。

二、import scope

maven的继承跟java一样,单继承,也就是说子model中只能出现一个parent标签,如果把所有依赖都放在parent模块中,其dependencyManagement中预定义太多的依赖,造成pom文件过长,而且很乱,可以通过import scope对依赖进行分类管理。

使用方式:

(1)将dependency分类,每一类建立单独pom文件 。

(2)在需要使用这些依赖的model中,通过dependencyManagement管理依赖,并import scope依赖。

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <!-- 重要:版本号要和父模块中预定义的spring boot版本号保持一致 -->
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

注意,scope=import只能用在dependencyManagement里面,且仅用于type=pom的dependency




相关推荐

&lt;mirror&gt; &lt;id&gt;alimaven&lt;/id&gt; &lt;name&gt;

Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式。在dependencyManagement元素中声明所依赖的jar包的版本号等信息,那么所有<stron

在pom.xml中使用distributionManagement将项目打包上传到nexus私服(maven的一种远程私有仓库)。 <pre class="language-markup

一、概述 repositories配置jar仓库,pluginRepositories配置插件仓库。 二、通过项目pom.xml配置 <repositories> <repository>

dependencyManagement 只是声明依赖,并不实际引入,只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目继承该项。 denpende

一、前置知识 1、settings.xml中的proxy、server、repository、mirror proxy 是服务器不能直接访问外网时需要设置的代理服务。 server 是服务器

在Maven的pom.xml文件中,存在如下两种build &lt;project&gt; &lt;buil

在构建Maven项目的时候,如果没有进行特殊配置,Maven会按照 标准的目录结构查找和处理各种类型文件。 src/main/java和src/test/java <p

每个插件都都有一个&lt;skip&gt;&lt;/skip&gt;属性,maven在调用插件的时候判断这个属性的值是否是true,是true的话就跳过。 <pre class="lan

&lt;plugin&gt; &lt;groupId&gt;org.springframe