com.ibm.websphere.naming.WsnInitialContextFactory
- это определенный класс WebSphere Application Server.
Как утверждают Удо и другие, WebSphere Community Edition - это совершенно другой продукт.
Вы не только изменили ОС времени выполнения с AIX на Windows, но и изменили механизм времени выполнения на другого поставщика.
Если приложение содержало подобный код, специфичный для времени выполнения (WAS) в вашем случае, то они, очевидно, не будут работать, когда они перенесены в другой контейнер Java EE (в данном случае WAS-CE, который фактически основан на на сервере Apache Geronimo).
Как упомянул Удо, нет необходимости явно указывать провайдера InitialContextFactory
в коде в наши дни. Раньше это было так в последние 5-6 лет назад, когда разработчики приложений должны были прямо заявить об этом. Если вы смотрите на объект на сервере JNDI, который размещен на том же сервере, указывать это не нужно.
Требуется, когда вы работаете в WAS CE и смотрите на сервер JNDI, работающий на другом WAS (обычный IBM WAS, а не CE), тогда этот код действительно необходим, и вам необходимо убедиться, что эти классы присутствуют в время работы вашего WAS CE CLASSPATH
.