Ошибка компиляции Maven Eclipse, несовместимые типы Но только для maven

Maven, похоже, не хочет компилировать мое программное обеспечение ... 90% времени, остальные 10 или около того процентов работают нормально по какой-то волшебной причине единорога ...

Итак, maven большую часть времени жалуется на несовместимый тип, но код работает нормально, я добавил в него некоторые недопустимые вещи (потому что собственный компилятор eclipses компилирует его просто отлично), и у меня не было никаких проблем с ним. , Это код, на который он ссылается:

@SuppressWarnings("unchecked")
public static void registerModule(Class<? extends Module> mod) {
    try {
        Log.info("[Module Handler] Enabling module \"" + mod.getSimpleName() + "\"");
        Module modObj = null;
        if (Xmlable.class.isAssignableFrom(mod)) {
            modObj = (Module) pl.unmarshal((Class<Xmlable>) mod);
            if (modObj == null) {
                modObj = mod.newInstance();
                pl.marshal((Xmlable) modObj);
            } else {
                pl.marshal((Xmlable) modObj);
            }
        }
        if (modObj == null) {modObj = mod.newInstance();}
        if (modObj != null) {
            registerModule(modObj); 
        } else {
            Log.fatal("[Module Handler] Module is null!");
        }
    } catch (Exception e) {
        Log.fatal("[Module Handler] Exception while registeringing a module class");
        e.printStackTrace();
        return;
    }
}

И это ошибка:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project minesuiteus: Compilation failure
[ERROR] /**/Minevictus Suite/src/main/java/me/taucu/server/minevictus/minesuiteus/Main.java:[48,81] incompatible types: java.lang.Class<capture#1 of ? extends me.taucu.server.minevictus.minesuiteus.Module> cannot be converted to java.lang.Class<me.taucu.server.minevictus.minesuiteus.Xmlable>
[ERROR] -> [Help 1]

person Tau    schedule 17.04.2019    source источник
comment
На самом деле компилятор Eclipse и javac различаются в нескольких случаях (см., например, здесь). Чтобы знать, что происходит в данном конкретном случае, нужно знать версию javac и Eclipse, а также иметь полный пример (в вашем примере отсутствует класс me.taucu.server.minevictus.minesuiteus.Xmlable).   -  person howlger    schedule 17.04.2019
comment
Я изменил утверждение на Class‹? расширяет Xmlable›, и теперь компилятор работает, по-видимому, в 100% случаев. Спасибо за вашу помощь.   -  person Tau    schedule 17.04.2019