Java -D和Java -d的区别详解

我们经常使用javac -d命令和java -D命令来进行java程序的编译,现在我就来说一下这两个命令的区别。javac -d指将该java的字节码编译到指定的目录中去。java -D使用来设置当前程序的系统环境变量。

我们经常使用javac -d命令和java -D命令来进行java程序的编译,现在我就来说一下这两个命令的区别。javac -d指将该java的字节码编译到指定的目录中去。java -D使用来设置当前程序的系统环境变量。实例如下:

javac -d

// 在当前目录下面创建一个classes目录,用来存放编译后的字节码文件
C:UsersadminDesktop>mkdir classes

// 使用-d命令将GetProp.java的字节码文件编译到classes目录下面 
C:UsersadminDesktop>javac -d classes GetProp.java

// classes目录中的文件列表如下
C:UsersadminDesktop>dir classes
2015/04/06  11:53    <DIR>          .
2015/04/06  11:53    <DIR>          ..
2015/04/06  11:53               483 GetProp.class
               1 个文件            483 字节
               2 个目录 58,193,809,408 可用字节

从上面的实例可以看出-d命令就是指定字节码生成目录。

java -D

// 该类的一个功能就是获取系统环境变量logData值(保存到:GetProp.java文件中)
public class GetProp {
	public static void main(String[] args) {
		System.out.println( System.getProperty("logData") );
	}
}

// 运行如下:
// 编译GetProp程序
C:UsersadminDesktop>javac GetProp.java

// 执行GetProp程序,并且通过-D命令设置系统参数logData
C:UsersadminDesktop>java "-DlogData=D:	estdatalog" GetProp

运行结果:

D: estdatalog

通过上面的实例可以看出java -D命令是用来设置系统参数的,可以设置多个系统参数,如下:

C:UsersadminDesktop>java "-DlogData=D:	estdatalog" "-DdataDir=D:	estdata" GetProp
生活总会给你答案的,但不会马上把一切都告诉你。只要你肯等一等,生活的美好,总在你不经意的时候,盛装莅临。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号