TomcatJNDI решает эту проблему.Он может обрабатывать файлы конфигурации Tomcat и создает ту же среду JNDI, что и Tomcat, но без запуска сервера.Таким образом, вы можете запускать классы с зависимостями в среде JNDI Tomcat, например, в тестах JUnit.
TomcatJNDI tomcatJNDI = new TomcatJNDI();
tomcatJNDI.processContextXml(new File("tomcat-root-dir/conf/context.xml");
tomcatJNDI.start();
Тогда ваши классы могут искать источник данных, как если бы они выполнялись в Tomcat.о TomcatJNDI можно найти здесь.