метод расширения для класса утилиты из внешней библиотеки

Я использую FilenameUtils из apache commons

У меня было такое действие в коде

 val customPath = FilenameUtils.getPath(source) + DEFAULT_SEPARATOR + FilenameUtils.getBaseName(source) val resultPath = FilenameUtils.separatorsToSystem(customPath) 

Я решил сделать это в методе расширения. Я переместил его в отдельный класс.

 object PluginExtensions { fun FilenameUtils.normalizeFilePath(source: String) : String { val customPath = FilenameUtils.getPath(source) + DEFAULT_SEPARATOR + FilenameUtils.getBaseName(source) return FilenameUtils.separatorsToSystem(customPath) } fun File(name: String) : File = File(name).apply { createNewFile() } } 

Однако он не может найти этот новый метод в классе, где я его использую

введите описание изображения здесь

В чем проблема?

    Прежде чем вы сможете использовать этот метод расширения, его необходимо импортировать.

     import PluginExtensions.normalizeFilePath 

    Функция расширения используется только для объекта PluginExtensions. В любом месте за пределами этого объекта вам нужен импорт, чтобы сделать расширение видимым. Альтернативой будет определение расширения на уровне пакета. Это сделает ваше расширение видимым для всего пакета.

    Взгляните на документацию для расширений. В частности, область расширений .

    Вам нужно импортировать функцию в файл, в который вы его вызываете. Функция расширения не находится в классе, который вы распространяете. Он расположен в том месте, где вы его определили.

    Напишите это в файле, в котором вы используете функцию:

     import PluginExtensions.normalizeFilePath