#包引用的问题! classpath里是否有"."也就是当前目录? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //A.javapackage pack;public class A { public String getId (){ return "a d ID" ; }};//B.javapackage pack;//加一个引入试试看import pack;public class B { public void test(){ A a = new A(); }} 解决办法:1.把A.java和B.java放在同一目录下,用javac *.java编译2.javac -d . A.java javac B.java3.javac A.java,然后新建文件夹pack,把A.class放到里面再javac B.java javac -d . A.java加上-d有何目的?又为何要新建pack文件夹?把A.class放到里面? classpath的问题在编译B的时候,需要遍历classpath,查找pack/A.class的存在通常classpath中都会设置".",这个小点代表了当前路径所以用javac -d . A.java编译,自动生成包路径,或是手工把A.class放到对应的包路径中,就可以使编译B.java的时候能正确找到A javac -d . A.java加上-d有何目的?----------------------------------直接运行javac,会有提示信息,告诉你各个编译参数的意义 通常classpath中都会设置".",这个小点代表了当前路径----------------------------我已经设置了“.”这个CLASSPATH并且文件结构是这样的:E:\ | -pack | --A.java --B.java按理说,B.JAVA 应该是可以找到A.CLASS 的可是,你为什么要在里面加一个pack包呢? --pack | --A.class(这是按你的方法做的,然后就出了这么一部分) 因为在你用javac B.java编译时classpaht中的那个“.”指向的是E:\pack编译器会以这个目录为基础,寻找pack/A.class的存在 如果只想知其然,以后命令行编译时就用javac -d . *.java或者是用ant做make工具当然,用IDE也是很不错的选择要想搞清楚这个问题,就得多找些java虚拟机和classloader的资料看看然后把心得拿来给大家分享,^_^ 快速匹配字符串 算术表达式求解 hashCode的问题,请大哥帮忙! JAVA的jdk安装错误 请教; 请问:如何调试applet与servlet的通信过程 我用的是传递序列化对象的方法!!!! 旧事重提,关于环境问题,。。。 主流支持JSP/SERVLETS环境的比较 请问蔡学墉是他妈什么东西? 问题很多,求助(在线)? LINUX9.0的JAVA环境的配置出了问题,我是这样做的,我错在那里啊,大家看看,谢谢!!! 如何把JAR 文件 制成EXE文件
package pack;
public class A {
public String getId (){
return "a d ID" ;
}
};//B.java
package pack;//加一个引入试试看
import pack;public class B {
public void test(){
A a = new A(); }
}
1.把A.java和B.java放在同一目录下,用javac *.java编译
2.javac -d . A.java
javac B.java
3.javac A.java,然后新建文件夹pack,把A.class放到里面
再javac B.java
加上-d有何目的?又为何要新建pack文件夹?把A.class放到里面?
在编译B的时候,需要遍历classpath,查找pack/A.class的存在
通常classpath中都会设置".",这个小点代表了当前路径
所以用javac -d . A.java编译,自动生成包路径,或是手工把A.class放到对应的包路径中,就可以使编译B.java的时候能正确找到A
加上-d有何目的?
----------------------------------
直接运行javac,会有提示信息,告诉你各个编译参数的意义
----------------------------
我已经设置了“.”这个CLASSPATH
并且文件结构是这样的:
E:\
|
-pack
|
--A.java
--B.java
按理说,B.JAVA 应该是可以找到A.CLASS 的
可是,你为什么要在里面加一个pack包呢?
--pack
|
--A.class
(这是按你的方法做的,然后就出了这么一部分)
classpaht中的那个“.”指向的是E:\pack
编译器会以这个目录为基础,寻找pack/A.class的存在
或者是用ant做make工具
当然,用IDE也是很不错的选择要想搞清楚这个问题,就得多找些java虚拟机和classloader的资料看看
然后把心得拿来给大家分享,^_^