想知道这个命令中每个单词的含义

Want to know what each word meaning in this command

我正在尝试在 avatar.js 的帮助下在 JVM 上 运行 一个 node.js 应用程序,使用我在此处的一篇文章中提到的以下命令: http://blog.jonasbandi.net/2014/03/running-nodejs-applications-on-jvm-with.html

java -Djava.library.path=dist -jar dist/avatar-js.jar app.js

想知道这个命令中每个单词的确切含义。

这在 Oracle 网站 (https://docs.oracle.com/en/java/javase/11/tools/java.html) 以及命令本身(尝试 java -?)中有相当广泛的记录。

部分-Djava.library.path=dist表示:

    -D<name>=<value>
                  set a system property

所以这会将 java.library.path 属性 设置为 dist。我认为这可能与使用 JNI(Java 本机接口)扩展有关,它告诉 JVM 在哪里寻找本机库文件。

下一部分-jar dist/avatar-js.jar app.js指示Java执行名为dist/avatar-js.jar的jar文件,程序参数为app.js,文件如下:

   or  java [options] -jar <jarfile> [args...]
           (to execute a jar file)

来自 man java(也可用 here):

-Dproperty=value

设置系统 属性 值。 属性 变量是一个没有空格的字符串,表示 属性 的名称。 value 变量是一个字符串,表示 属性 的值。如果值是带空格的字符串,则将其括在引号中(例如 -Dfoo="foo bar")。

-jar filename

执行封装在 JAR 文件中的程序。 filename 参数是 JAR 文件的名称,其清单包含 Main-Class:classname 形式的一行,该行定义 class 和 public static void main(String[] args) 方法作为您的应用程序的起点。

当您使用-jar 选项时,指定的JAR 文件是所有用户classes 的来源,其他class 路径设置将被忽略。 有关 JAR 文件的更多信息,请参阅以下资源: