学习使用过程中,jdk1.5版本以上时,classpath非必须配置,但使用package包时,若不是在同一目录,则会提示找不到类,现总结一些如下:
测试代码:
//创建一个包
package com.baidu;
public class hello{
public void print(){
System.out.println("Hello World");
}
}
使用命令 javac -d . hello.java 命令编译,在当前目录生成包,./com/baidu/hello.class
//使用包中的类
import com.baidu.*;
public class hellotest{
public static void main(String[] argv){
hello classtest=new hello();
classtest.print();
}
}
若未设置classpath,且此java文件和包不在同一目录,则提示找不到类,此时可将CLASSPATH设置为 “./;com文件夹所在的目录”,则可以找到(./代表当前目录,两个路径用分号隔开);
或者使用命令 java -cp “.;com文件夹所在目录”hellotest,也可运行(-cp参数即注明classpath,必须加入当前目录 .;);
另外,还可使用jar命令将包打包为jar包:
jar -cf hello.jar com
生成hello.jar
此时有两种方法调用jar:
1. 使用java -cp “.;jar所在目录/hello.jar” hellotest(测试发现,必须加入当前目录 .;)
2. 将jar文件置于jdk/jre/lib/ext中,则impor后可以直接使用java hellotest运行
因此,当使用其他jar包时,最好的方法是放入dk/jre/lib/ext中,import使用
(使用IDE调用jar包会更方便)