java的-D命令行参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的-D命令行参数相关的知识,希望对你有一定的参考价值。

java -Dlog_path=$LOG -cp $CLASSPATH:/test.jar new
请问这里-Dlog_path=$LOG的作用是什么?另外,需要-D与后面的log_path连着写?这是语法?谢谢!
这种-DXXXX是java运行参数的语法

是什么语法呢?作用是什么呢?

这个$LOG是log的路径,那在这里的作用是什么呢?让程序知道log_path代表什么?

那能举个例子么?比如命令行用了-Dlog_path="D:/log",在java code中如何使用这个log_path?

$LOG是系统环境变量 可能是在你的脚本里定义的也可能是全局定义的,你可以用echo $LOG看一下是什么.这种-DXXXX是java运行参数的语法
作用是配置一些环境变量,具体有哪些参数,参数有什么效果,和你用的实际环境、项目架构都有关
对,让程序知道log_path代表什么,具体程序怎么用,那是程序的事了

System.getProperty(“propertyName”) 比如你的就是System.getProperty("log_path")就可以拿到了
参考技术A 默认情况下,javac在编译时会把类文件放到源文件所处的目录。javac指令还支持将编译好的类文件放到指定的目录中,这时需要使用-d参数:
javac –d 类文件的存放目录 Java源文件
存放目录要预先存在,否则出现编译错误。
例: Hello.java位于d:\Java\app\src,它也是当前路径;设classes为预先建好的在d:\Java\app路径下的目录,用下面的指令编译源文件:
javac –d ..\classes Hello.java
此时生成的类文件将被放在d:\Java\app\classes
路径中。
参考技术B java的main函数都具有String[] 参数。这个参数可以通过-d来传递。
log_path这个会被存放在System.getProperty()中,
Property 是继承 hashtable的。可以通过System.getProperty("log_path")取得。

使用Java命令行方式导入第三方jar包来运行Java程序的命令

1.首先使用命令行进入到a.java所在的文件夹:(比如我的在D:\\javaeeworkspace\\SharedPS_WS\\src\\com\\dyf\\main 这样一个路径下,)

d: 回车,

cd D:\\javaeeworkspace\\SharedPS_WS\\src\\com\\dyf\\main 回车,

2.使用javac命令运行a.java源文件,运行时需要使用到第三方jar包时,使用 –classpath参数来指定jar包所在路径:

比如我的cxf框架的jar包在 C:\\D\\Java\\cxf\\apache-cxf-3.1.14\\lib 路径下,运行javac命令时,使用

javac -classpath ".;C:\\D\\Java\\cxf\\apache-cxf-3.1.14\\lib\\*"Server.java 回车,

3.但是运行出class文件之后,需要退回到class文件所在的包外的路径下,使用java –classpath 的方式来运行class文件即可(class文件需要输入包名)。

上面说的如果不是很清楚,请看下面的真实案例。

如下,附上我的真实案例:

我已经使用eclipse 正确运行了Java文件,生成了class文件,使用命令行进入到class文件所在的包前一路径,如下图:

Class文件所在路径:

第三方jar包所在路径:

我在运行时,使用如下命令:

1.使用命令行进入D盘:

d: 回车

2.进行main函数所在Java文件的class文件所在包的前一路径下:

cd D:\\javaeeworkspace\\SharedPS_WS\\build\\classes

3.使用Java命令,java -classpath ".;C:\\D\\Java\\cxf\\apache-cxf-3.1.14\\lib\\*" com.dyf.main.Server 回车

 

注意:classpath中的 .; 不能少。

 

 

由于编者水平有限,文章中如有不妥之处或者有什么疑问,可直接在下面评论指出,不胜感激。

以上是关于java的-D命令行参数的主要内容,如果未能解决你的问题,请参考以下文章

正确使用 Java -D 命令行参数

命令行传递参数和可变参数

Java - Java 命令行简介: 选项, 属性, 参数

C#中的命令行参数

vs2010 怎么给c++项目预设命令行参数

Java有没有这样的命令行参数工具