#maven #kotlin
Вопрос:
Следующий код работает в рамках того же проекта:
import org.slf4j.Logger
import org.slf4j.LoggerFactory
val Any.log: Logger
get() = LoggerFactory.getLogger(this.javaClass)
Пример использования:
log.info("hi!")
Когда я пытаюсь сделать это из другого проекта, я получаю ошибку компиляции:
Cannot access 'log': it is internal in 'com.mycompany'
Почему это происходит и как я могу заставить это работать?
Ответ №1:
Я не совсем понимаю это, но я понял это. Это действительно работает так:
class Logger {
companion object {
val log: Logger
get() = LoggerFactory.getLogger(this.javaClass)
}
}