Мой проект работал нормально, пока я не добавил в свой проект зависимость Kryo
.Я могу использовать как Netty
, так и Kryo
без синтаксических ошибок в моей IDE, но он не будет собираться.Все, что я делал, это добавлял Kryo
к своему common
модулю и начинал внедрять Kryo
в своем коде, когда я хотел запустить Gradle
, он возвращал большой список ошибок ни о каких существующих пакетах Netty
и Kryo
.
Мой gradle очень прост, клиентский и серверный модули зависят от общего, у которого есть 2 пользовательских класса, и реализуют Kryo
и Netty
.
project(":common") {
apply plugin:'java'
dependencies {
// https://mvnrepository.com/artifact/io.netty/netty-all
implementation group: 'io.netty', name: 'netty-all', version: '4.1.33.Final'
// https://mvnrepository.com/artifact/com.esotericsoftware.kryo/kryo
implementation group: 'com.esotericsoftware.kryo', name: 'kryo', version: '2.24.0'
}
}
project(":server") {
apply plugin:'java'
dependencies {
implementation project(":common")
// https://mvnrepository.com/artifact/org.mongodb.morphia/morphia
compile group: 'org.mongodb.morphia', name: 'morphia', version: '1.3.2'
}
}
project(":client") {
apply plugin:'java'
dependencies {
implementation project(":common")
}
}
В клиенте и на сервере (оба только приложения java atm) я использую Kryo
и Netty
без синтаксических ошибок, но при запуске или сборке я получаю следующий список для каждого импортируемого класса Netty
или Kryo
.
error: package io.netty.channel does not exist
error: package io.netty.channel does not exist
error: package io.netty.channel does not exist
error: package io.netty.channel.group does not exist
error: cannot find symbol class ChannelInboundHandlerAdapter
error: cannot find symbol class ChannelGroup
error: cannot find symbol class ChannelHandlerContext
error: cannot find symbol class ChannelGroup
error: cannot find symbol class ChannelHandlerContext
error: cannot find symbol class ChannelHandlerContext
error: method does not override or implement a method from a supertype
error: method does not override or implement a method from a supertype
Я попробовал самое очевидное invalidate cache / restart
, очистка, восстановление безуспешно.Кроме того, я попытался поиграть с плагином, установив его на java-library
и обратно.Единственное, что я сделал не так, как обычно, это то, что я пытался исключить Kryo
для других двух модулей, но я отказался от этого после нескольких попыток и стер эти строки exclude
.Это, наверное, просто то, что я упустил из виду, но я не могу это понять.