详解java源文件涉及到的package问题
2007-06-15 11:52
381 查看
在刚开始学java的时候,有很多人搞不清: 在java中,含有package的java源文件如何进行编译和执行。
我来总结一下:
首先建立一个等式 (等式为自我定义的,你把full_dir写成whole_dir, globe_dir都无所谓):
或者 (dir: directory)
full_dir = base_dir + package_dir
我来解释一下:
full_path(full_dir) 全路径就是你的*.java源文件所在的整个路径(文件目录)
![](https://oscdn.geek-share.com/Uploads/Images/Content/200706/15/5a5629e30bacbc91aa02638f1d9177d8.jpg)
full_path="e:\temp\src\org\youway\samples\test"
package_path(package_dir)路径就是在*.java源文件中package部分所编写的路径(文件目录)
![](https://oscdn.geek-share.com/Uploads/Images/Content/200706/15/8e07afc7ed21e188c2874576690dc128.jpg)
可以对应package_path="\org\youway\samples\test"
base_path(base_dir)基本路径就是你执行编译或执行命令所在的路径(文件目录)
通过等式:full_dir = base_dir + package_dir
可得:base_dir = full_dir - package_dir
= "e:\temp\src\org\youway\samples\test" - "\org\youway\samples\test"
= "e:\temp\src"
所以,
![](https://oscdn.geek-share.com/Uploads/Images/Content/200706/15/9c499a740876cc5ae169870712978e6e.jpg)
我们选择"e:\temp\src"为编译,运行目录
分别调用命令
base_dir>javac package_dir\*.java
base_dir>java package_dir\*
至此,大家是否可明确关于package的基本问题。这是我们以后整体编译调试项目文件的一个基础。
在这个问题的背后,其实是jvm如何装载文件的策略问题和格式规定问题。
我们在配置classpath时,是否注意那个".;"圆点,那个圆点就是我们所说的base_dir
我们如果在使用ant时,是否注意了build.xml的第一行中关于basedir的属性值。
<project name="proname" default="all" basedir=".">
我来总结一下:
首先建立一个等式 (等式为自我定义的,你把full_dir写成whole_dir, globe_dir都无所谓):
或者 (dir: directory)
full_dir = base_dir + package_dir
我来解释一下:
full_path(full_dir) 全路径就是你的*.java源文件所在的整个路径(文件目录)
![](https://oscdn.geek-share.com/Uploads/Images/Content/200706/15/5a5629e30bacbc91aa02638f1d9177d8.jpg)
full_path="e:\temp\src\org\youway\samples\test"
package_path(package_dir)路径就是在*.java源文件中package部分所编写的路径(文件目录)
![](https://oscdn.geek-share.com/Uploads/Images/Content/200706/15/8e07afc7ed21e188c2874576690dc128.jpg)
可以对应package_path="\org\youway\samples\test"
base_path(base_dir)基本路径就是你执行编译或执行命令所在的路径(文件目录)
通过等式:full_dir = base_dir + package_dir
可得:base_dir = full_dir - package_dir
= "e:\temp\src\org\youway\samples\test" - "\org\youway\samples\test"
= "e:\temp\src"
所以,
![](https://oscdn.geek-share.com/Uploads/Images/Content/200706/15/9c499a740876cc5ae169870712978e6e.jpg)
我们选择"e:\temp\src"为编译,运行目录
分别调用命令
base_dir>javac package_dir\*.java
base_dir>java package_dir\*
至此,大家是否可明确关于package的基本问题。这是我们以后整体编译调试项目文件的一个基础。
在这个问题的背后,其实是jvm如何装载文件的策略问题和格式规定问题。
我们在配置classpath时,是否注意那个".;"圆点,那个圆点就是我们所说的base_dir
我们如果在使用ant时,是否注意了build.xml的第一行中关于basedir的属性值。
<project name="proname" default="all" basedir=".">
相关文章推荐
- package-info.java 作用及用法详解
- java 中关于package的一个问题
- 详解java中package与import
- 【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)
- 关于用Java来写最大公约数和最小公倍数的问题详解及代码
- Java跨域问题的处理详解
- java 防盗链详解及解决办法(针对类似帆软报表第三方可能遇到的问题)
- java中带有package的java源文件在cmd下得运行
- 【Java基础之多态中静态方法重写问题】java中静态方法的重写问题详解
- java.lang.SecurityException: Prohibited package name: java.demo 定位问题
- java中 中文问题详解
- 详解java中继承关系类加载顺序问题
- Java 提高篇——equals() 与 hashCode() 方法详解 Java hashCode() 和 equals() 的若干问题解答
- JAVA中文字符编码问题详解(1)(转)
- package-info.java 作用及用法详解
- Java 对象数组多属性条件排序问题(详解)
- java调用C/C++不能打开源文件jni.h的问题
- 生产者/消费者问题Java详解
- Java编码问题详解
- Java getBytes方法详解(字符集问题)