再说一下Java里面的路径问题,CLASSPATH和SOURCEPATH
来源:互联网 发布:linux用ftp上传文件 编辑:程序博客网 时间:2024/06/05 20:17
java的路径让许多人,特别是初学者感到迷惑,我这里再解释一下。我们分2个阶段,1是编译阶段,2是运行阶段。
一、编译阶段
这个时候,我们要提供给编译器的有2个路径参数,第一个是源代码在哪里?也就是 sourcepath,第二个就是依赖的类在哪里?也就是 classpath
我们看一个例子
d:/temp/TestCP/d1/p1/Class1.java
- package p1;
- public class Class1 {
- public void show(){
- System.out.println("Class1");
- }
- }
d:/temp/TestCP/d2/p2/Class2.java
- package p2;
- import p1.Class1;
- public class Class2 {
- public static void main(String[] args){
- Class1 c1 = new Class1();
- c1.show();
- }
- }
编译的时候,我们先在 d:/temp/testCP/d1 编译Class1
D:/temp/testCP/d1>javac p1/Class1.java
编译成功
然后我们在 d:/temp/testCP/d2 下编译 Class2。有2个方法进行编译:
第一:指定源文件 sourcepath
D:/temp/testCP/d2>javac -sourcepath .;../d1 p2/Class2.java
第二:指定classpath
D:/temp/testCP/d2>javac -sourcepath . -cp ../d1 p2/Class2.java
两个方法都能达到我们需要的效果。也就是说,在路径里,系统会在其下面根据package自动寻找源文件或者class文件的。
另一个情况,如果我们需要某个类库的支持,比如jar文件,那么我们就不能只包含路径就行了,而是应该包含整个路径和文件名,比如
D:/temp/testCP/d2>javac -sourcepath . -cp ../d1;d:/lib/spring.jar p2/Class2.java
第二、在运行时
我们需要指定其他的class在哪里,以及我们需要的类库在哪里,所以运行命令应该是
D:/temp/testCP/d2>java -cp .;../d1;d:/lib/spring.jar p2.Class2
Class1
总结:
路径分为2种,如果是jar或者zip形式的,那么必须包含完整的路径和文件名,大小写都不能错。
如果是class文件,那么只需要包含路径就行了。
- 再说一下Java里面的路径问题,CLASSPATH和SOURCEPATH
- 再说一下Java里面的路径问题,CLASSPATH和SOURCEPATH
- 说一下Java里面的路径问题,CLASSPATH和SOURCEPATH
- Java里面的路径问题,CLASSPATH和SOURCEPATH
- Java 手动编译 javac 的-classpath -sourcepath
- java编译中sourcepath和classpath之我见
- java里面的 path 和 classpath
- JAVA classpath和classpath*和配置文件路径的关系
- Java classpath 的工程路径问题
- java获取classpath路径的问题
- Java中-classpath和路径的使用
- java中-classpath和路径的使用
- java中-classpath和路径的使用
- java中classpath和路径的使用
- Java中-classpath和路径的使用
- Java中-classpath和路径的使用
- Java中-classpath和路径的使用
- Java中-classpath和路径的使用
- 通过Socket实现群聊的思路
- 打印输入中单词长度的直方图(垂直打印)
- C# 使用TraceSource记录程序日志
- 单链表面试题
- windows下 在virtualenv的虚拟环境中使用pywin32
- 再说一下Java里面的路径问题,CLASSPATH和SOURCEPATH
- linux pdb调试总结
- 串
- Java IO学习
- 关于.Net与J2EE的比较,到底用微软平台还是Java平台的问题
- Hadoop HDFS FileSystem详解
- ModelAndView
- CODEVS_2144 砝码称重 2 折半搜索+二分查找+哈希
- 跨服务器登录验证(单点登录SSO)的过程和Java实现