关于java.lang.NoClassDefFoundError的问题:quickfix/MessageStoreFactory

关于java.lang.NoClassDefFoundError的问题:quickfix/MessageStoreFactory,java,quickfixj,Java,Quickfixj,我在运行Java应用程序进行修复时遇到了一个问题。我已经添加了所有QuickFIX/J JAR来构建修复应用程序。但当我运行我的jar时,总是会出现以下错误: Application: TestMarketdataRequest Exception in thread "main" java.lang.NoClassDefFoundError: quickfix/MessageStoreFactory at com.dxtr.fastmatch.FastmatchMDRequest.&

我在运行Java应用程序进行修复时遇到了一个问题。我已经添加了所有QuickFIX/J JAR来构建修复应用程序。但当我运行我的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
应用程序:TestMarketdataRequest
线程“main”java.lang.NoClassDefFoundError中出现异常:quickfix/MessageStoreFactory
在com.dxtr.fastmatch.FastmatchMDRequest。(FastmatchMDRequest.java:14)
位于com.dxtr.fastmatch.FastmatchMDRequest.main(FastmatchMDRequest.java:19)
原因:java.lang.ClassNotFoundException:quickfix.MessageStoreFactory
位于java.net.URLClassLoader.findClass(URLClassLoader.java:382)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:418)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 还有两个

我的问题:当我在Dependencies中添加QuickFIX/J时,我如何修复此问题?为什么会出现此错误?

当您使用
-cp
选项运行主类时,请在类路径中包含dependency jar:

java -cp quickfixj.jar MainClass
-classpath classpath
-cp类路径
指定要搜索类文件的目录、JAR文件和ZIP存档的列表。用分号(;)分隔类路径项。指定-classpath或-cp将覆盖classpath环境变量的任何设置


有关的详细信息。

此操作已关闭。我在pom中添加了可执行jar。所以它现在关闭了,谢谢大家

ok,我的应用程序运行了,但是当我想使用示例banzai readfile读取文件时,我的代码无法读取我的配置,这是我的读取输入流InputStream InputStream=null;if(args.length==0){inputStream=TestMarketdataRequest.class.getResourceAsStream(“initiator.config”);}else if(args.length==1){inputStream=new FileInputStream(args[0]);}if(inputStream==null){System.out.println(“用法:”+TestMarketdataRequest.class.getName()+“[configFile]”;return;}这是我从代码使用中得到的:com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest[configFile]。所以我想我不能在这里看我的文件哦,我以为你有不同的问题。请你更新你的问题,把这些信息也包括进去好吗?从注释中很难看出代码是什么样子的。