繁体   English   中英

Java类路径库(jar)

[英]Java classpath library(jar)

我不知道如何使用另一个库编译和运行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的正确方法吗? 我将不胜感激。 谢谢!

您为什么不使用可以为您完成工作的IDE(Eclipse,Netbeans ...)?

尝试使用正斜杠且不带点。 像这样: javac -cp \\jmathplot.jar Graph.java

在将所有.class文件编译到/path/to/some/dir ,可以使用以下命令运行它:

java -cp "~/jmathplot.jar;/path/to/some/dir/*" com.package.YourMainClass

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM