java - 关于 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 时,我该如何解决这个问题?为什么会出现这个错误?
解决方案
使用以下选项运行主类时,在类路径中包含依赖项 jar -cp
:
java -cp quickfixj.jar MainClass
-classpath classpath
-cp classpath
指定目录、JAR 文件和 ZIP 档案的列表以搜索类文件。用分号 (;) 分隔类路径条目。指定 -classpath 或 -cp 会覆盖 CLASSPATH 环境变量的任何设置。
更多关于文档。
推荐阅读
- java - 将 Json 对象映射到 POJO 时处理未知的 Json 属性
- javascript - 如何在 app.run 中注销 $rootScope.$on
- angular - Karma - Jasmine 无法解析 Ionic 应用程序中的打字稿路径
- apache-kafka-connect - 如何更改“kafka connect”组件端口?
- azure - 在 HTTP 请求中找到的 MAC 签名与从 azure 服务器计算的不同
- scala - 传递 MultipartFormData.FilePart 的结果值
- gnuplot - Gnuplot:抑制警告
- git - 仅当除 master 之外的所有分支都有推送的 TAG 时,Gitlab 才会触发 Pipeline
- epoch - 使用 strptime 解析微秒纪元时间
- sql - 如何在 SQL 中制作计算器?