java - 如何使用类路径和 native 库从 cmd 行运行 java 程序?

标签 java macos command-line

好吧,我放弃了——我没有很多从 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/

相关文章:

java - 第二次点击按钮时图像不会改变

java - 将循环结果添加到数组中?

macos - WebView 作为响应者

macos - 通过Mac Terminal上传文件夹

无法识别 Javac。 (已经设置路径)

java - jackson 和 JAX-RS : type resolving abstract types based on @PathParam

objective-c - 具有多个目标的项目的代码签名问题

windows - 查找文件中的特定文本

linux - 监控正在删除的文件

Java boolean 方法返回