Maven 删除从spring boot starter父级继承的额外依赖项 org.springframework.boot spring启动程序父级 1.2.6.1发布

Maven 删除从spring boot starter父级继承的额外依赖项 org.springframework.boot spring启动程序父级 1.2.6.1发布,maven,spring-boot,spring-boot-maven-plugin,Maven,Spring Boot,Spring Boot Maven Plugin,当SpringBootStarter父级用作父级时,它包含许多不必要的依赖项。就像在我的例子中,它获取 (spring移动设备、spring社交facebook、spring社交linkedin、org.apache.activemq)我不想要 如果我打开我的有效POM(get的自动创建),它包含了很多我不想要的依赖项 有没有办法删除项目中未使用的不必要的依赖项?是否有一个工具来识别这种依赖关系 感谢您的帮助:) 谢谢 POM.xml: <parent> <groupI

当SpringBootStarter父级用作父级时,它包含许多不必要的依赖项。就像在我的例子中,它获取 (spring移动设备、spring社交facebook、spring社交linkedin、org.apache.activemq)我不想要

如果我打开我的有效POM(get的自动创建),它包含了很多我不想要的依赖项

有没有办法删除项目中未使用的不必要的依赖项?是否有一个工具来识别这种依赖关系

感谢您的帮助:)

谢谢

POM.xml:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.6.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->

4.0.0
演示
0.0.1-快照
演示
演示
org.springframework.boot
spring启动程序父级
1.2.5.1发布
org.springframework.boot
弹簧启动装置
org.apache.commons
commons-lang3
3.4
公地io
公地io
2.4
org.apache.lucene
lucene岩芯
4.5.1
org.apache.lucene
lucene分析仪通用
4.5.1
org.apache.lucene
卢克尼探险家
4.5.1
org.springframework.boot
弹簧起动试验
dom4j
dom4j
1.6.1
UTF-8
演示应用程序
1.7
org.springframework.boot
springbootmaven插件
演示

spring boot starter父级
不声明任何依赖项。然而,通过
spring引导依赖项
,它确实为广泛的潜在依赖项提供了依赖项管理

发件人:

依赖关系管理部分是一种集中依赖关系信息的机制。当您有一组继承公共父级的项目时,可以将有关依赖关系的所有信息放在公共POM中,并对子POM中的工件进行更简单的引用

对工件的引用可以更简单,因为由于依赖关系管理,不需要声明版本。例如:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>demo</groupId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>demo</description>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.5.RELEASE</version>
    <relativePath />
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <!-- <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> 
        <version>2.2.4</version>$NO-MVN-MAN-VER$ </dependency> -->
    <!-- <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> 
        <version>1.17.1</version> </dependency> -->
    <!-- <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> 
        <version>4.4.1</version>$NO-MVN-MAN-VER$ </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> 
        <artifactId>httpcore</artifactId> <version>4.4.1</version> </dependency> -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.4</version>
    </dependency>
    <!-- <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> 
        <version>2.8</version> </dependency> -->
    <!-- <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> 
        <version>3.5.4</version> </dependency> -->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
    </dependency>

    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-core</artifactId>
        <version>4.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-analyzers-common</artifactId>
        <version>4.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-queryparser</artifactId>
        <version>4.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>
</dependencies>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <start-class>demo.Application</start-class>
    <java.version>1.7</java.version>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
<artifactId>DEMO</artifactId>

org.springframework.boot
SpringBootStarterWeb
如果不指定版本,Maven将使用在依赖关系管理中配置的版本


只有在pom的
部分中添加一个条目时,您的项目才会具有该依赖项,Maven将下载它作为构建的一部分。

您选择的partent只执行
依赖项管理
,因此您无法继承真正的依赖项。如果您喜欢使用依赖项,它们必须由一个
依赖项列表定义
…您能显示您的pom文件吗?感谢回复khmarbaise。如果您不想要原型所依赖的额外依赖项,请不要使用原型。我已添加了pom.xml。如果你看一下pom,就没有提到((spring移动设备、spring社交facebook、spring社交linkedin、org.apache.activemq),但自动生成的有效pom显示了这些条目。还有一件事,如果我检查maven构建后下载的JAR,我没有看到任何与spring移动设备、spring社交facebook、spring社交linkedin、org.apache.activemq相关的JAR。为什么会这样?
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    <dependency>
<dependencies>