从cmd运行Jar-related.Java

从cmd运行Jar-related.Java,java,eclipse,java-native-interface,command,command-prompt,Java,Eclipse,Java Native Interface,Command,Command Prompt,我试图在cmd提示符下执行“javac Classname.java”,这个Classname.java需要Jfreechart库/jar,如果从Eclipse编译,运行良好(因为项目包导入了jar) 但是我想从cmd提示符运行该文件,它无法显示输出。它会出现如下错误:(“包不存在”),如何修复它?我需要类文件,还需要运行JNI命令来创建头文件。您只需要将目录路径和/或.jar库添加到“-classpath”命令行参数中 根据您拥有的库的数量,您可能会得到一个.sh脚本(Linux)或.cmd文

我试图在cmd提示符下执行“javac Classname.java”,这个Classname.java需要Jfreechart库/jar,如果从Eclipse编译,运行良好(因为项目包导入了jar)


但是我想从cmd提示符运行该文件,它无法显示输出。它会出现如下错误:(“包不存在”),如何修复它?我需要类文件,还需要运行JNI命令来创建头文件。

您只需要将目录路径和/或.jar库添加到“-classpath”命令行参数中

根据您拥有的库的数量,您可能会得到一个.sh脚本(Linux)或.cmd文件(windows),该文件如下所示:

如果您在Windows上,您会使用“;”作为分隔符(而不是*nix:”)


“希望有帮助

只需将目录路径和/或.jar库添加到“-classpath”命令行参数中即可

根据您拥有的库的数量,您可能会得到一个.sh脚本(Linux)或.cmd文件(windows),该文件如下所示:

如果您在Windows上,您会使用“;”作为分隔符(而不是*nix:”)

“希望有帮助

你需要

您可以通过两种方式来实现这一点。使用
-classpath
-cp
选项:

javac -cp jar1.jar;path/to/jar2.jar Classname.java
或者,如果需要持久化,请使用
CLASSPATH
环境变量:

set CLASSPATH=path1;path2
javac Classname.java
你需要这样做

您可以通过两种方式来实现这一点。使用
-classpath
-cp
选项:

javac -cp jar1.jar;path/to/jar2.jar Classname.java
或者,如果需要持久化,请使用
CLASSPATH
环境变量:

set CLASSPATH=path1;path2
javac Classname.java

如果您已经设法在Eclipse中运行代码,那么Eclipse可以帮助您

在“Debug”视图中,在运行代码后,应该还有类似以下内容:

如果右键单击底部的“terminated”文本并选择“Properties”,您将得到如下结果:


您可以复制命令行内容,并使用它从命令行运行应用程序,或者按照其他答案的建议使用它设置类路径。

如果您已经在Eclipse中运行了代码,那么Eclipse可以帮助您

在“Debug”视图中,在运行代码后,应该还有类似以下内容:

如果右键单击底部的“terminated”文本并选择“Properties”,您将得到如下结果:


您可以复制命令行内容,并使用它从命令行运行应用程序,或者按照其他答案的建议使用它设置类路径。

对,但是-classpath选项是首选方式。@asgs,不太合适。有些应用程序的类路径太大,无法放入命令行,因此它们必须使用环境变量。e、 g.应用程序服务器。@paulgrime:“-cp”才是正确的选择。在大多数现代版本的windows中,将其设置为所需的长度并放在.cmd文件中应该不会有任何问题。@Paul Grime类路径太大从来都不是问题,就像paulsm4所说的那样。实际的问题是当您打算运行多个应用程序时设置$classpath环境变量,每个应用程序都需要一组不同的库,这可能会导致冲突。另外请注意,-classpath是比-cp.Right更受一致支持的选项,但-classpath选项是更受欢迎的方式。@asgs,不是这样。有些应用程序的类路径太大,无法放入命令行,因此它们必须使用环境变量。e、 g.应用程序服务器。@paulgrime:“-cp”才是正确的选择。在大多数现代版本的windows中,将其设置为所需的长度并放在.cmd文件中应该不会有任何问题。@Paul Grime类路径太大从来都不是问题,就像paulsm4所说的那样。实际的问题是当您打算运行多个应用程序时设置$classpath环境变量,每个应用程序都需要一组不同的库,这可能会导致冲突。还要注意的是-classpath是比-cp更受一致支持的选项。