我正在尝试运行带有多个Java类文件的代码和一个来自我下载的库的jar文件。我用以下内容编译它们:
javac -cp "quickfixj-all-.jar" BTCCMarketDataRequest.java Bot.java
Bot类有main方法,BTCCMarketDataRequest文件在类中有许多其他方法。我没有创建任何包。
我该怎么办呢? 如果我做: java机器人 我得到以下输出:
Exception in thread "main" java.lang.NoClassDefFoundError: quickfix/Group
at Bot.main(Bot.java:4)
Caused by: java.lang.ClassNotFoundException: quickfix.Group
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
... 1 more
编译后的类(找不到jar文件中的那个,但为什么呢?我编译了它。
我是Java的新手,所以我不知道发生了什么。
谢谢!
答案 0 :(得分:0)
您还需要在执行程序时添加类路径。
java -cp .:quickfixj-all-.jar Bot
这假定Bot
类在默认包中,并且所有jar
和.class
依赖项都在同一目录中。