Появилось время на самокапание, решил попробовать сервер приложений GlassFish в связке с RMI клиентом на Java. Написал простейший ejb с методом sayHello.
@Stateless
public class MainSessionBean implements MainSessionBeanRemote {
    @Override
    public String sayHello() {
        return «Hello world!»;
    }
}
Ну и в клиенте, его вызов.
try {
            props.load(new FileInputStream(«jndi.properties»));
            InitialContext ctx = new InitialContext(props);
            MainSessionBeanRemote bean = 
               (MainSessionBeanRemote)ctx.lookup(
                «java:global/CorpServer/CorpServer-ejb/MainSessionBean»);
            System.out.println(bean.sayHello());
        } catch …
Если создавать клиент средствами самого NetBeans, то все работает. Но как только пытаюсь запустить приложение из командной строки, ничего не работает, не находит нужных библиотек.
В инете готового решения проблемы не нашел. После долгой боли и мучений выработал метод получения необходимых библиотек, для стандалон клиента.
- В glassfish ищем батник package-appclient и запускаем его. Он создаёт файл glassfish5/glassfish/lib/appclient.jar
 - Из этого файла из директории modules извлекаем все файлы jar и копируем к себе в проект. Почему то, если использовать сам appclient.jar ничего не работает.
 - Но там не хватает двух файлов. Их придется ручками скопировать из glassfish5/glassfish/modules. Файлы: bean-validator-cdi.jar и bean-validator.jar
 
Все, клиент коннектится, методы вызываются.