【问题标题】:Run Jar related .Java from cmd从 cmd 运行 Jar 相关的 .Java
【发布时间】:2023-04-04 17:51:01
【问题描述】:

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

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

【问题讨论】:

    标签: java eclipse java-native-interface command command-prompt


    【解决方案1】:

    你需要set the classpath

    您可以通过 2 种方式做到这一点。使用-classpath-cp 选项:

    javac -cp jar1.jar;path/to/jar2.jar Classname.java
    

    或者,如果您需要它持久化,请使用CLASSPATH 环境变量:

    set CLASSPATH=path1;path2
    javac Classname.java
    

    【讨论】:

    • 对,但是-classpath 选项是更可取的方式。
    • @asgs,不是真的。一些应用程序的类路径太大而无法放入命令行,因此它们必须使用环境变量。例如应用服务器。
    • @Paul Grime:“-cp”要走的路。在大多数现代版本的 Windows 中,将其制作为任意长度并将其放入 .cmd 文件中应该没有任何问题。
    • @Paul Grime 类路径太大从来都不是问题,就像 paulsm4 说的那样。实际问题是当您打算运行多个应用程序时设置 $classpath 环境变量,每个应用程序都需要一组不同的库,这可能会导致冲突。另请注意 -classpath 是比 -cp 更一致支持的选项。
    【解决方案2】:

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

    在“调试”视图中,您应该在运行代码后剩下类似的内容:

    如果您右键单击底部的“终止”文本并选择“属性”,您将得到如下内容:

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

    【讨论】:

      【解决方案3】:

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

      根据您拥有的库数量,您可能会得到一个看起来像这样的 .sh 脚本 (Linux) 或 .cmd 文件 (windows):

      http://ubuntuforums.org/showthread.php?t=230258

      java -cp jts.jar:jcommon-1.0.0.jar:jfreechart-1.0.0.jar:jhall.jar:other.jar:rss.jar -Xmx256M jclient.LoginFrame .
      

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

      '希望有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-16
        • 1970-01-01
        • 1970-01-01
        • 2011-11-11
        • 1970-01-01
        • 2013-04-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多