小编Bas*_*sil的帖子

Maven从伟大的父母那里获取依赖版本,而不是我们的父母依赖管理

下面显示了我的POM的层次结构.

你可以看到我们有一个公司的父母pom用于春季启动项目.这个POM有spring-boot-starter作为它的父级,它导入我们自己的依赖管理BOM.

[INFO] --- hierarchy-maven-plugin:1.4:tree (default-cli) @ user-service ---
[INFO]  PARENT com.MY_COMPANY.platform:user:3.20.14-SNAPSHOT
[INFO]    PARENT com.MY_COMPANY.platform:spring-boot-parent:3.20.12-SNAPSHOT
[INFO]      PARENT org.springframework.boot:spring-boot-starter-parent:1.5.12.RELEASE
[INFO]        PARENT org.springframework.boot:spring-boot-dependencies:1.5.12.RELEASE  <<<< This pom defines assertJ 2.x
[INFO]          [ other imports ]
[INFO]      IMPORT com.MY_COMPANY:dependencyManagementBase:2.23.14-SNAPSHOT     <<<<<<<<<<<< This pom defines assertJ 3.x
[INFO]    IMPORT com.MY_COMPANY.platform:platform-dependency-management:1.20.7
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

为了专注于特定的,我们在依赖管理中定义AssertJ 3; 但是,spring-boot-dependencies定义了AssertJ 2.与assertJ没什么关系,但还有其他类似Mongo-Java-Driver的鱼没有拿起我们的版本.

Maven如何选择优先权?为什么我们的依赖管理不能赢得远祖的依赖管理?

我还注意到,如果我将AssertJ添加为MY_COMPANY.platform:spring-boot-parent的依赖项,它也不会在我们的依赖管理中使用该版本(所以我现在只保留它,所以层次结构下显微镜较短).

编辑 - 添加缩写的POM

com.MY_COMPANY.platform:弹簧引导父

<?xml version="1.0" encoding="UTF-8"?>
<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>com.MYCOMPANY.platform</groupId>
    <artifactId>spring-boot-parent</artifactId>
    <version>3.20.12-SNAPSHOT</version>
    <packaging>pom</packaging>

    <prerequisites>
        <maven>3.0.4</maven>
    </prerequisites>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.12.RELEASE</version>
    </parent>

    <properties>
        <MYCOMPANYdependencymanagement.version>2.23.13</MYCOMPANYdependencymanagement.version>
    </properties> …
Run Code Online (Sandbox Code Playgroud)

java dependency-management pom.xml maven spring-boot

5
推荐指数
1
解决办法
400
查看次数

用堆进行外部排序?

我有一个包含大量数据的文件,我想对它进行排序,以便在任何给定时间仅将一部分数据保存在内存中。

我注意到合并排序在外部排序中很流行,但是我想知道是否可以使用堆(最小或最大)来完成。基本上,我的目标是在100个项目的列表中获得前10个项目(使用任意数字),同时在内存中保存的项目绝不超过10个。

我最了解堆,并了解堆数据将按适当的顺序排列,从中可以将其最后一部分作为解决方案,但我不知道如何在没有I / O的情况下进行处理。每一个freakin项目。

有想法吗?

谢谢!:D

sorting algorithm external-sorting

2
推荐指数
1
解决办法
2399
查看次数