Не могу инициализировать контекст с JMS

У меня проблемы с настройкой JMS. Я пытался использовать Active MQ и OpenJMS, но возникает та же ошибка. Я не знаю, как решить эту проблему:

Когда я выполню это:

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.util.Hashtable;

public class Main {
    public static void main(String[] args) throws NamingException {
        Hashtable properties = new Hashtable();

        properties.put(Context.INITIAL_CONTEXT_FACTORY,
            "org.exolab.jms.jndi.InitialContextFactory");
        properties.put(Context.PROVIDER_URL, "tcp://localhost:3035/");

        Context context = new InitialContext(properties);
    }
}

Я получаю эту ошибку:

Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: org.exolab.jms.jndi.InitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.exolab.jms.jndi.InitialContextFactory]

После некоторого поиска в Google, я думаю, проблема в том, что баночка находится не в правильном пути к классу, но все ответы уже предполагают, что я знаю, в каком банке и где ее хранить, но здесь дело обстоит не так.

О какой банке они говорят? Где я могу получить это? Где мне нужно хранить его?

Я использую IntelliJ, кстати. Не могли бы вы указать мне правильное направление?

ActiveMQ работает ( http://localhost:8161/ показывает веб-страницу ActiveMQ)

Вот мои шаги о том, как я создал проект: Файл -> Новый проект -> Java -> SDK1.8 -> Далее -> Далее -> Имя проекта: Test -> Щелкните правой кнопкой мыши папку src -> New -> Java Class -> Имя: Главное -> Вставить код сверху -> Выполнить -> Ошибка

РЕДАКТИРОВАТЬ: для всех людей, имеющих одинаковые ошибки: OpenJMS поставляется с libfolder. Установите эти библиотеки, и это должно работать

1 ответ

Решение

Вот хорошее объяснение о том, как добавить внешние jar в ваш проект в intellij, и относительно

О какой банке они говорят? Где я могу получить это?

Вот полезный веб-сайт, где вы можете искать файлы JAR, используя критерии в качестве имени класса или пакета.

Я думаю, что банка вам нужна Openjmsвот ссылка для скачивания.

Другие вопросы по тегам