常用JAVA DOS命令

在介绍Java Dos命令之前,先介绍几个常用的Windows Dos命令

cd → 指定目录

cd.. → 返回上级目录

cd/ → 返回到根目录

dir → 列出当前目录下的所有文件夹和文件

md → 创建目录

rd → 删除目录

del → 删除目录下的所有文件(子目录的文件不会被删除)

ren → 重命名

copy → 复制文件

D:\>copy test.txt a → 如果text.txt文件和a目录都在D盘,不要写全目录

D:\>copy C:\a\test.txt C:\b → 如果text.txt和a目录都不在D盘,那么要写全目录


下面开始介绍Java中的一些常用的Dos命令

编译多个源文件

有两种方法:

1、如果文件都在同一目录

假设有四个文件:HelloWorld1.java、HelloWorld2.java、HelloWorld3.java、HelloWorld4.java

那么可以这么写:javac HelloWorld*.java或者javac *.java

2、如果文件不在同一目录

假设有四个文件:HelloWorld1.java、HelloWorld2.java、HelloWorld3.java、HelloWorld4.java。它们分别在1、2、3、4这四个文件夹里面

那么可以先建一个文件(FilesList.txt)在D盘,然后在此文件里面添加如下内容

D:\1\HelloWorld1.java

D:\2\HelloWorld2.java

D:\3\HelloWorld3.java

D:\4\HelloWorld4.java

然后直接输入命令javac @FilesList.txt


将.java文件和.class分开

如果直接用javac HelloWorld.java,那么编译后的HelloWorld.class和HelloWorld.java在同一目录下,那么,怎么让它们不在同一目录下呢?

D:> dir
classes
lib
src

D:> dir src
tianjf

D:> dir src\tianjf
HelloWorld1.java
HelloWorld2.java

D:> dir lib
Banners.jar

D:> dir classes

D:> javac -sourcepath src -classpath classes:lib\Banners.jar \src\tianjf\*.java -d classes\tianjf

D:> dir classes\tianjf
HelloWorld1.class
HelloWorld2.class


将.class打包成.jar文件

jar cvf test.jar *.class


编译运行时引用外部包

首先,将下面的Student.java编译成Student.class,再打包成Student.jar

public class Student {
private String name;

public String getName() {
return name;
}

public void setName(String pName) {
this.name = pName;
}
}

然后,编写以下测试程序:

public class Test {
public static void main(String[] args) {
Student stu = new Student();
stu.setName("Jack");
System.out.println(stu.getName());
}
}

最后,用命令行编译运行。

如果Test.java和Student.jar在同一目录下:

编译:D:\>javac -classpath Student.jar Test.java

运行:D:\>java -classpath Student.jar; Test

如果Test.java和Student.jar不在同一目录下:

编译:D:\>javac -classpath D:\lib\Student.jar Test.java

运行:D:\>java -classpath D:\lib\Student.jar; Test


注:如果有多个jar包需要引用,那么可以用分号隔开,另外,classpath可以简写为cp


编译带有package的java文件

假设Test.java的包定义如下:

package com.test;

并且Test.java保存在D:\java目录下。

那么:

编译:D:\java>javac Test.java -d .\ (这里会按照package的定义自动建立相应的目录,然后把生成的字节码文件存放进去,D:\java\com\test\Test.class)

运行:D:\java>java com.test.Test


注:-d的意思就是指定编译后文件的存放目录,但是-d指定的目录不会自动创建,要手动创建


-verbose : verbose是“冗长的,啰唆的,累赘的”的意思,也就是把编译的步骤,过程显示出来

编译:D:\>javac -verbose -d com/test HelloWorld.java


-encoding : 指定源文件的编码,注意不是.class文件的编码

编译:D:\>javac -encoding UTF-8 -d com/test HelloWorld.java

指定读取java文件采用UTF-8编码


-source

当你从sun安装了某个版本的JDK,而其实该JDK却包含多个版本的编译器。-source参数就是指定用哪个版本的编译器对java源码进行编译。如果你的java源

码不符合该版本编译器的规范的话,当然就不能编译通过。

编译:D:\>javac -source 1.6 HelloWorld.java

-target

该 命令用于指定生成的class文件将保证和哪个版本的虚拟机进行兼容。我们可以通过-target 1.2来保证生成的class文件能在1.2虚拟机上进行运行,但是1.1的虚拟机就不能保证了。因为java虚拟机的向前兼容行,1.5的虚拟机当然也 可以运行通过-target 1.2让生成的class文件。
每个版本编译器的默认-target版本是不太一样的,
比如:
JDK1.2版本编译器支持-target 1.1,-target 1.2,-target 1.3,-target 1.4,-target 1.5,-target 1.6,它默认的就是1.1
JDK1.4版本编译器只支持-target 1.4 和-target 1.5
JDK1.5版本编译器就只支持-target 1.5

-deprecation

如果java源码中使用了的不鼓励使用的类或类的Field或类的方法或类的方法覆盖,那么如果使用了该参数,将显示关于此的的详细信息,否则只有个简单的Note.

对于以下代码:

public class HelloWorld {
public static void main(String[] args) {
Thread t = new Thread();
t.destroy();
System.out.println("Hello World!");
}
}

执行命令:D:\>javac -deprecation HelloWorld.java

  结果会提示t.destroy();不推荐使用。

转载于:https://www.cnblogs.com/bdqnnb/archive/2013/03/27/2984522.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值