好吧,我放弃了——我没有很多从 cmd 行运行 java 的 xp,我已经这样做了一段时间,尝试了无数种组合,我只是很沮丧,所以我们开始吧。
我需要从 cmd 行运行一个简单的 java 应用程序(依赖于一堆 jar,然后依赖于一些 native 库)——当我尝试运行以下命令时,我在 bin 文件夹中:
java -Djava.library.path="../lib" -cp ../jar;. MyMainClass
无论顺序如何(我知道顺序很重要!)这不起作用,会出现不同的错误。
例如,我在上面粘贴的版本为我提供了一个 cmd 行参数列表,后跟:
-bash: myMainClass: No such file or directory
但是 MyMainClass.class 在我运行这些东西的 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]
我想了解应该如何使用这些属性(并让它在这个过程中发挥作用)。
最佳答案
在 Unix 中使用 :
分隔符指定类路径,而不是 ;
在 Windows 中:-cp ../jar:.
此外,您需要指定每个 jar 文件,而不仅仅是给它一个装满 jar 的目录。
关于java - 如何使用类路径和 native 库从 cmd 行运行 java 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6406056/