有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

macos如何使用类路径和本机库从cmd行运行java程序?

好吧,我放弃了-我没有太多的xp从cmd行运行java,我已经做了一段时间了,尝试了无数的组合,我只是感到沮丧,所以我们开始吧

我需要从cmd行运行一个简单的java应用程序(依赖于一堆JAR,然后依赖于一些本机库)——当我尝试运行以下程序时,我在bin文件夹中:

java -Djava.library.path="../lib" -cp ../jar;. MyMainClass

无论订单如何(我理解订单的重要性!)这不起作用,有不同的错误

例如,我上面粘贴的版本为我提供了一个cmd行参数列表,后跟:

-bash: myMainClass: No such file or directory

但是我的主要课程。类在bin文件夹中,我从中运行这些东西

如果我尝试这样做:

java -Djava.library.path="../lib" AlphaHHKernel_Tuning_Test -cp ../jar;.

我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: MyMainClass
Caused by: java.lang.ClassNotFoundException: MyMainClass
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
-bash: .: filename argument required
.: usage: . filename [arguments]

我想了解这些属性应该如何使用(并在过程中发挥作用)


共 (1) 个答案

  1. # 1 楼答案

    在Unix中,使用:分隔符指定类路径,而不是像在Windows中那样使用;-cp ../jar:.

    此外,您需要指定每个JAR文件,而不仅仅是给它一个充满JAR的目录