#java #scala #jar #databricks #resource-files
#java #scala #jar #databricks #файлы ресурсов
Вопрос:
Я запускаю ноутбук в Databricks в кластере, в котором много библиотек, установленных вручную.
В коде я читаю файл ресурсов files.txt
, который является ресурсом библиотеки, которую я только что установил.
В файлах меньше строк, чем ожидалось. Я предполагаю, что файл ресурсов также находится в одном из других установленных JAR.
Есть ли способ определить, какой из установленных JAR в кластере содержит файл ресурсов, кроме ручной загрузки установленных JAR один за другим и их проверки?
Я читаю файл следующим образом:
val stream: InputStream = getClass.getResourceAsStream("/files.txt")
val lines: Iterator[String] = scala.io.Source.fromInputStream( stream ).getLines
Ответ №1:
getClass().getResource("/files.txt")
Вернет URL-адрес, который должен сообщить вам, откуда загружен ресурс
Ответ №2:
Вы можете получить список ресурсов для заданного имени, вызвав из всех jar
getClass.getClassLoader.getResources("/files.txt")
Если у вас конфликтующие ресурсы, это вернет несколько записей.