我正在尝试在 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
(也可以在这里找到):
-Dproperty=value
设置系统属性值。属性变量是一个不带空格的字符串,表示属性的名称。 value 变量是表示属性值的字符串。如果 value 是带有空格的字符串,则将其括在引号中(例如 -Dfoo="foo bar")。
-jar filename
执行封装在 JAR 文件中的程序。 filename 参数是 JAR 文件的名称,其清单包含 Main-Class:classname 形式的行,该行使用
public static void main(String[] args)
方法定义类,该方法用作应用程序的起点。
当使用-jar选项时,指定的JAR文件是所有用户类的源,其他类路径设置将被忽略。 有关 JAR 文件的更多信息,请参阅以下资源:
//两个整数相加的方法重载