Скорее всего, проблема связана с каким-то заполнением загрузочного пути Java, которое действует при запуске Glassfish. Это часто кусается, когда сервер приложений запускается из IDE. Например:
> On 30-5-2005 8:00, Uwe Peuker wrote:
>
> It's probably caused by the way how/when Eclipse passes
> the -Xbootclasspath parameter to the java executable that's being
> launched.
>
> Don't know for 3.1RC1, but for older releases it depends on the setting
> "Use system default libraries" in the JRE configuration (Window ->
> Preferences -> Java -> Installed JREs -> (select JRE) -> Edit)
>
> When "Use system default libraries" is unchecked (off), Eclipse adds
> the -Xbootclasspath parameter --with all the libs in the list-- to the
> java executable. If the list doesn't include the crypto libraries, it
> results in the NoSuchAlgorithmException.
> Otherwise, when "Use system default libraries" is checked, Eclipse doesn't
> add -Xbootclasspath, so it allows the java executable to discover its own
> boot classpath including the crypto libraries.
> --
> Regards,
>
> Roland de Ruiter
> ___ ___
> /__/ w_/ /__/
> / \ /_/ / \
РЕДАКТИРОВАТЬ : в ответ на комментарий ОП:
(Если это не очевидно, я не являюсь ни Роландом де Рюйтером, ни Уве Пеукером. Я только что нашел это письмо в поиске Google и разместил его здесь для вашей информации.)
В любом случае, поскольку проблема возникает при запуске Glassfish из Eclipse, первое, что вы должны попробовать, это запустить Glassfish (вместе с вашим приложением) из командной строки. Если это работает (как я и ожидаю), тогда проблема явно в Eclipse и / или в способе его использования.
Предполагая, что я прав, следующим будет захват и проверка полного набора аргументов командной строки, которые Eclipse использует при запуске JRE для запуска Glassfish. В частности, вам нужно проверить, предоставляет ли Eclipse параметр --bootclasspath и каково его значение.