Добавлена ​​настройка лиц. xml, но цель по-прежнему недоступна - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть приложение JSF, работающее на встроенной пристани. Это работает, когда я запускаю его из затмения, но не из командной строки. Я понял, что это потому, что Eclipse использует папки, а Cli использует JAR. Я предположил, что после поиска в Google это произошло потому, что в моей банке отсутствовал faces-config.xml. Я добавил один в папку META-INF, но все еще получаю Target unreachable ошибки для bean-компонентов в моем x html.

Pic of faces-config.xml

Как я могу проверить, что JSF действительно сканирует мою банку на предмет @ManagedBean?

Ps. Я создаю jar своих проектов с помощью maven, копирую его в мою папку lib и запускаю из cli с помощью java -cp "lib\*" com.test.MainSystem

1 Ответ

1 голос
/ 07 февраля 2020

После отладки AnnotationConfiguration я мог видеть, что Jetty сканирует только файлы jar под WEB-INF.

К счастью, они предоставляют способ добавления внешних файлов jar. Добавление этого заставило меня начать работать ...

WebAppContext webapp = new WebAppContext();

// Add "this" jar to the list of jars to scan for annotations
String jarPath = JettyServer.class.getProtectionDomain().getCodeSource().getLocation().getPath();
webapp.setExtraClasspath(jarPath);
...