问题描述
用文本文档写的java环境变量D:bianchengjavajavaprogrambingbingcan三个类存入D:bianchengjavajavaprogrambingbingcanLibTestimportbingbingcan.*;publicclassLibTest{publicstaticvoidmain(String[]args){Vectorv=newVector();Listl=newList();}}packagebingbingcan.LibTest;publicclassList{publicList(){System.out.println("bingbingcan.List");}}packagebingbingcan.LibTest;publicclassVector{publicVector(){System.out.println("bingbingcan.Vector");}}用javac编译LibTest出现错误D:bianchengjavajavaprogrambingbingcanLibTest>javacLibTest.javaLibTest.java:1:软件包bingbingcan不存在importbingbingcan.*;^LibTest.java:4:无法访问Vector错误的类文件:.Vector.class类文件包含错误的类:bingbingcan.LibTest.Vector请删除该文件或确保该文件位于正确的类路径子目录中。Vectorv=newVector();^2错误求助本人初学java
解决方案
解决方案二:
引入的时候写全称importbingbingcan.*;importbiancheng.java.javaprogram.bingbingcan
解决方案三:
LibTest这个类就是在bingbingcan这个包下面了,就不需要导入啦,publicprotectdefault默认是同包可见的,不需要导包,在一个是设置好你的classpath,然后javac包名.类名有个-d是表示目录属性,-classpath表示类路径属性,自己试下吧
解决方案四:
怎么不行啊用javac编译老是提示错误
解决方案五:
路径的问题。。把文件copy出来,放到别的盘,重新编译
解决方案六:
你的LibTest是类名还是包名?
解决方案七:
慢慢来吧。
解决方案八:
命令行下编译运行java包文件://A.javapackageorg.pj.pkg;publicclassA{}//B.javapackageorg.pj.pkg;publicclassB{publicvoidrunning(){Aa=newA();System.out.println("OK!");}publicstaticvoidmain(String[]args){Bb=newB();b.running();}}我在F盘下新建一个new文件夹,将A.java和B.java两个文件都放在里面在cmd方式下,先设置jdkbin的路径,然后设在classpath的路径,这个要包括jdk里lib下的jar。然后:C:DocumentsandSettingspj>javac-dF:new-cpF:newf:newB.java编译成功。下面就是执行B.class文件了,也有很大的蹊跷.与上面的情况一样,我通过设置classpath环境变量各种方法,只有下面的这种方法能构正确执行C:DocumentsandSettingspj>java-cpF:neworg.pj.pkg.BOK!这里需要主意的几个关键点:1.在使用javac命令编译互访性包文件的时候(比如上面的B访问A),需要用参数-cp指明类的寻找路径为包所在的路径,第三个参数应该是类的完整路径.2.在使用java命令执行这种包文件的时候,也需要用参数-cp指明类的寻找路径为包所在的路径,后面的参数中应该以.来间隔包类各层次文件夹之间的关系.在这里使用setclasspath的方式似乎不能解决这个问题,而在参数里加上-cp的选项才可以