Давайте сначала рассмотрим, что такое «ресурс». Ресурс — это файл, который можно найти, начиная с каталогов в пути к классам. Обратите внимание, что для этой цели файл jar является каталогом, поскольку он хранит файловую систему zip. Путь к классам — это информация о среде, доступная при запуске Java.
И есть фундаментальная проблема: компилятор Scala не знает, где находятся эти ресурсы! Он получает исходные файлы для компиляции, возможно, каталог назначения, и у него есть собственные пути к классам, но они связаны с запуском scalac, а не с компилируемым scalac кодом.
Ресурсы "генерирует" не компилятор - ни scalac, ни javac. Это другие инструменты, такие как jar
(инструмент командной строки), и обычно вызываются другими инструментами, такими как системы сборки (ant, maven, sbt).
Таким образом, нет никакой информации о том, где можно найти эти ресурсы — в любом случае они обычно находятся в каталогах, отдельных от исходного кода. Вы можете использовать обычную поддержку файлового ввода-вывода Scala для перемещения по каталогам и тому подобному, но во время компиляции нет информации об «источнике ресурсов».
person
Daniel C. Sobral
schedule
11.12.2013