运行 多个 Java 类

Running multiple Java classes

我正在尝试 运行 包含多个 Java class 文件和一个来自我下载的库的 jar 文件的代码。我用以下内容编译它们:

javac -cp "quickfixj-all-.jar" BTCCMarketDataRequest.java Bot.java

Bot class 有主要方法,BTCCMarketDataRequest 文件在 class 中有很多其他方法。我没有创建任何包。

我应该如何 运行 呢? 如果我做: 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.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

编译出来的class(jar文件里找不到,为什么?我编译出来了。

我是 Java 的新手,所以我不知道发生了什么。

谢谢!

您还需要在执行程序时添加class路径

java -cp .:quickfixj-all-.jar Bot

这假设 Bot class 在默认包中并且所有 jar.class 依赖项都在同一目录中。