Вопрос о java .lang.NoClassDefFoundError: quickfix / MessageStoreFactory - PullRequest
0 голосов
/ 30 марта 2020

У меня проблема при запуске приложения Java для приложения FIX. Я добавил все фляги QuickFIX / J для сборки приложения FIX. Но когда я запускаю флягу, я всегда получаю эту ошибку:

Application: TestMarketdataRequest 
Exception in thread "main" java.lang.NoClassDefFoundError: quickfix/MessageStoreFactory
    at com.dxtr.fastmatch.FastmatchMDRequest.<init>(FastmatchMDRequest.java:14)
    at com.dxtr.fastmatch.FastmatchMDRequest.main(FastmatchMDRequest.java:19)
Caused by: java.lang.ClassNotFoundException: quickfix.MessageStoreFactory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 2 more

Мой вопрос: как я могу это исправить и почему я получаю эту ошибку, когда я добавил QuickFIX / J в свои зависимости?

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Включите jar зависимостей в ваш путь к классу, когда вы запускаете основной класс, используя опцию -cp:

java -cp quickfixj.jar MainClass

-classpath classpath
-cp classpath
Указывает список каталогов, JAR-файлов и ZIP-архивов для поиска файлов классов. Разделите записи пути к классу точкой с запятой (;). Указание -classpath или -cp переопределяет любой параметр переменной среды CLASSPATH.

Подробнее о документах .

0 голосов
/ 01 апреля 2020

это закрыто. я добавил исполняемый флягу в мой pom так что сейчас закрыто спасибо всем

...