老早以前初学java时还记得一点,后来用了eclipse等工具渐渐的也就懒了,之所以整理,是因为最近一直都在研究hadoop,因为是在linux下的东西,所以大量的书籍或ppt中充满了各种javac及jar等命令。为了方便看书,或者以后工作更能随机应变,常用的一些命令还是记记吧!
set path=JDK目录 命令行中临时设置JDK所在目录
set classpath=类搜索路径 命令行中临时设置类的搜索路径
以上的set设置只对本命令窗口有效,并不是永久修改,要想永久修改,只能设置环境变量或更改对应的注册表
javac:
如果当前你要编译的java文件中引用了其它的类(比如说:继承),但该引用类的.class文件不在当前目录下,这种情况下就需要在javac命令后面加上-classpath参数,通过使用以下三种类型的方法 来指导编译器在编译的时候去指定的路径下查找引用类。
(1).绝对路径:javac -classpath c:\junit3.8.1\junit.jar Xxx.java
(2).相对路径:javac -classpath ..\junit3.8.1\Junit.javr Xxx.java
(3).系统变量:javac -classpath %CLASSPATH% Xxx.java (注意:%CLASSPATH%表示使用系统变量CLASSPATH的值进行查找,这里假设Junit.jar的路径就包含在CLASSPATH系统变量中)
javac -d 目标class文件所存放的路径 xxx.java 表示在当前路径下编译源文件,然后存放到指定目录 javac -d 目标class文件所存放的路径 绝对路径\xxx.java 表示编译指定路径的java文件,然后存放在目标路 径下
java:
首先没有这种方式: java 据对路径\java类 这种方式找不到主类(只有javac可以这么用)
java java类名 是在当前路径下执行java类
前提是:要么你的JDK是1.5以上没配CLASSPATH
或者是配置了CLASSPATH中增加“.”;
java -classpath dir1;dir2; dirN java类名 这种方式才是到指定 目录里去搜索并执行java类
java -classpath %CLASSPATH%;dir1;dirN java类名
在CLASSPATH指定目录和后面添加的目录里搜索并执行java类
jar:
jar cf test.jar 目录 将目录下的所有内容打包成jar文件
jar cvf test.jar 目录 打包jar并显示压缩过程
jar cvfM test.jar 目录 不使用清单文件(META-INF/MANIFEST.MF)打包jar
manifest.mf 内容追加到META-INF/MANIFEST.MF
如: jar cvfm test.jar a.txt 目录 只要a.txt 满足key=value 就可以
MANIFEST.MF里
jar tf test.jar 可以查看 jar包内容
jar tf test.jar >a.txt jar包的内容导入到a.txt
jar tvf test.jar 查看jar包详细内容
jar xf test,jar 解压缩
jar xvf test.jar 带提示的解压缩
jar uf test.jar Hello.calss 更新test.jar包里的Hello.class内容
jar cvfe test.jar Test *.class 将当前目录下所有.class打包成test.jar并指定Test是主类
运行方式 java -jar test.jar或javaw test.jar
以上所有的的路径中在linux下 “;” 换成“:” “\” 换成“/”
很多内容都是书上缩写,整理一下头脑留个记忆,这样看类似hadoop实战这样的书时会稍微轻松点.