Я пишу программу, и в качестве требования мне нужно получить все классы в пакете и вернуть их объекты.
У меня есть этот код:
package object cards {
private val reflections: Reflections = new Reflections(
new ConfigurationBuilder()
.setUrls(ClasspathHelper.forPackage("me.mysterymystery.duelingfactions.apiv2.guiindependant.card.cards"))
.setScanners(new SubTypesScanner())
)
def getAllCards: Seq[Card] = reflections.getSubTypesOf(classOf[Card]).asScala.map(_.newInstance()).toSeq
...
}
Класс карты:
trait Card {}
trait MonsterCard extends Card {}
, тогда все карты выходят из этой черты, например:
class ExampleCard extends MonsterCard
У них нет конструкторов.Все карты находятся в одной упаковке.
Но получите java.lang.NoSuchMethodException: me.mysterymystery.duelingfactions.apiv2.guiindependant.card.MonsterCard.<init>()
У кого-нибудь есть идеи относительно того, почему и как это исправить?