Files
pd-guard/src/main/java/ru/pdguard/detect/OpenNlpReflection.java
T
2026-09-21 17:40:25 +03:00

46 lines
2.8 KiB
Java

package ru.pdguard.detect;
import io.quarkus.runtime.annotations.RegisterForReflection;
/**
* Классы, которые OpenNLP создаёт по имени, разбирая описание признаков внутри модели.
*
* <p>В обычной сборке это работает само, в native-образе — нет: класс, не упомянутый
* в коде, туда просто не попадает. Без регистрации загрузка модели проходит, а
* создание распознавателя падает с {@code ClassNotFoundException} на первом запросе.
*
* <p>Перечислены фабрики целиком, а не только те, что встречаются в текущей модели:
* набор признаков задаётся при обучении и может измениться без правки кода.
*/
@RegisterForReflection(classNames = {
"opennlp.tools.namefind.TokenNameFinderFactory",
"opennlp.tools.namefind.BioCodec",
"opennlp.tools.util.featuregen.AggregatedFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.BigramNameFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.BrownClusterBigramFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.BrownClusterTokenClassFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.BrownClusterTokenFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.CachedFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.CharacterNgramFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.DefinitionFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.DictionaryFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.DocumentBeginFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.POSTaggerNameFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.PosTaggerFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.PrefixFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.PreviousMapFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.SentenceFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.SuffixFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.TokenClassFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.TokenFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.TokenPatternFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.TrigramNameFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.WindowFeatureGeneratorFactory",
"opennlp.tools.util.featuregen.WordClusterFeatureGeneratorFactory"
})
final class OpenNlpReflection {
private OpenNlpReflection() {
}
}