Давайте сначала рассмотрим, что такое «ресурс». Ресурс - это файл, который можно найти, начиная с каталогов в пути к классам. Обратите внимание, что для этой цели файл jar является каталогом, поскольку он хранит zip-файловую систему. Путь к классам - это информация об окружающей среде, доступная при запуске Java.
И есть основная проблема: компилятор Scala не знает , где эти ресурсы есть! Он получает исходный код файлов для компиляции, может быть, directory и имеет свои собственные пути к классам, но они связаны с запуском scalac, а не с компиляцией кода scalac.
Это не компилятор, который «генерирует» ресурсы - ни scalac, ни javac. Это другие инструменты, такие как jar
(инструмент командной строки) и обычно вызывается другими инструментами, такими как системы сборки (ant, maven, sbt).
Поэтому нет информации о том, где эти ресурсы могут быть найдены - они, как правило, находятся в каталогах отдельно от исходного кода. Вы можете использовать обычную поддержку файлового архива Scala для прохождения каталогов и т. Д., Но во время компиляции нет информации о «источнике ресурсов».
Это очень плохо, но я вроде бы подозревал, что это так. – user833970
Мне нужно рассмотреть это снова. Я считаю, что это можно сделать через Context.classpath – user833970