Общая проблема с maven build - PullRequest
       0

Общая проблема с maven build

2 голосов
/ 23 февраля 2012

Я создал небольшую утилиту, которая помогает мне сортировать карту по значениям (основываясь на одном из ответов StackOverflow, чтобы дать кредит):

public static <K, V extends Comparable> Map<K, V> sortMapByValues(Map<K, V> original) {
    final ValueComparator<K, V> comparator = new ValueComparator<K, V>(original);
    final Map<K, V> sorted = new TreeMap<K, V>(comparator);
    sorted.putAll(original);

    return sorted;
}

И ValueComparator :

static class ValueComparator<K, V extends Comparable<V>> implements Comparator<K> {
    private final Map<K, V> base;

    public ValueComparator(Map<K, V> base) {
        this.base = base;
    }

    public int compare(K a, K b) {
        return base.get(b).compareTo(base.get(a));
    }
}

Теперь это работает довольно хорошо, когда в моей IDE IntelliJ 10 код выполняется и выполняет то, что я ожидаю.

Но если я пытаюсь собрать проект с помощью maven из командной строки, я получаю следующую ошибку:

type parameter V is not within its bound

Ошибка, как говорят, находится в первой строке sortMapByValues ​​() метод

Я использую JDK 6 в своей IDE, и мой плагин для компилятора maven также установлен на 1.6.

Любые советы приветствуются

1 Ответ

2 голосов
/ 23 февраля 2012

Я думаю, это из-за:

V extends ComparablesortMapByValues) и V extends Comparable<V> в классе ValueComparator.

Измените первое также на V extends Comparable<V>

...