我不知道如何用另一个库编译和运行 Java 程序。我读了很多关于这个的帖子,但没有一个有帮助。他们中的大多数人只是在谈论它和其他东西,而不是提供一个像样的例子。虽然在过去一周尝试,但我无法让它工作。
想象一下,我有以下结构(~ 是主目录):
- ~/Graph.java
- ~/jmathplot.jar
Graph.java 开头:
import org.math.plot.Plot2DPanel;
public class Graph { ... }
它(org.math.plot)对应于.jar 结构。所以从我读到的(如果我从〜目录运行它):
javac -classpath ./jmathplot.jar Graph.java
这应该有效。但事实并非如此。它只是从 jmathplot.jar 生成一堆 .class 文件,当尝试运行它时,我得到 NoClassDefFoundError。如果我从 jmathplot.jar 中提取“org”文件夹并将其放在 Graph.java 旁边,它可以完美地工作(这是预期的);你甚至不需要指定类路径。
我认为类路径可以指导 JVM 在哪里查找文件。指定 jmathplot.jar 指示 JVM 在 jmathplot.jar 中查找 /org/math/plot 结构。
我哪里错了?有人可以为我提供编译和运行此 Graph.java 的正确方法吗?我将不胜感激。谢谢!