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 楼答案
在Unix中,使用
:
分隔符指定类路径,而不是像在Windows中那样使用;
:-cp ../jar:.
此外,您需要指定每个JAR文件,而不仅仅是给它一个充满JAR的目录