Есть ли способ использовать аннотации, определенные в Scala, чтобы они могли работать с кодом Java? У меня есть библиотека с некоторыми аннотациями, которые я хотел бы использовать в Java.
Как использовать аннотации Scala в Java-коде
Ответы (1)
Цитаты из scaladocs:
Базовый класс для аннотаций. Аннотации, непосредственно расширяющие этот класс, не сохраняются в файле класса. Чтобы разрешить хранение аннотаций в сигнатуре Scala файла классов и сделать ее доступной для отражения Scala и других инструментов, аннотация должна быть унаследована от [[scala.annotation.StaticAnnotation]]. Классы аннотаций, определенные в Scala, не хранятся в файлах классов в соответствии с Java и, следовательно, не видны в отражении Java. Для этого аннотации должны быть написаны на Java.
abstract class Annotation
https://github.com/scala/scala/blob/2.13.x/src/library/scala/annotation/Annotation.scala
Базовый класс для статических аннотаций. Они доступны для проверки типов Scala или отражения Scala даже в разных единицах компиляции. Классы аннотаций, определенные в Scala, не хранятся в файлах классов в соответствии с Java и, следовательно, не видны в отражении Java. Для этого аннотации должны быть написаны на Java.
trait StaticAnnotation extends Annotation
https://github.com/scala/scala/blob/2.13.x/src/library/scala/annotation/StaticAnnotation.scala