首页 > 解决方案 > 关于 java.lang.NoClassDefFoundError: quickfix/MessageStoreFactory 的问题

问题描述

我在为 FIX 应用程序运行 Java 应用程序时遇到问题。我已经添加了所有 QuickFIX/J jar 来构建 FIX 应用程序。但是当我运行我的 jar 时,我总是会收到这个错误:

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 时,我该如何解决这个问题?为什么会出现这个错误?

标签: javaquickfixj

解决方案


使用以下选项运行主类时,在类路径中包含依赖项 jar -cp

java -cp quickfixj.jar MainClass

-classpath classpath
-cp classpath
指定目录、JAR 文件和 ZIP 档案的列表以搜索类文件。用分号 (;) 分隔类路径条目。指定 -classpath 或 -cp 会覆盖 CLASSPATH 环境变量的任何设置。

更多关于文档


推荐阅读