打了包是不是要引用到classpath中呢~~~学习~~~

解决方案 »

  1.   

    classpath是为了在任何目录下执行程序用的,我现在已经在相应的目录下面了,就应该不用配置classpath了
      

  2.   

    classpath里面一定要有一个点
    或者这样编译
    D:\code>javac -classpath . testjar.java
      

  3.   

    我的目录结构是
    testjar.java在D:\code下
    bb.jar      在D:\code下
    这样是不是不用加classpath了吧?如果把bb.jar删除掉,而用bb这个目录代替就可以成功
      

  4.   

    classpath中要有 .
    也就是要有当前目录
      

  5.   

    我理解是这样的:如果是打了包,就要用到classpath去查找相应的jar文件
    你的在当前目录,所以要设置classpath中有 "."如果你没有打包,直接是目录和.class文件
    那么相当于你的其他的class文件和当前的文件在一个工程项目中,不是外来的jar包
    所以它在当前目录直接查找编译好的class文件,因此可以不知道是否正确,高手快上,呵呵
      

  6.   

    第一段还没有验证但是第二段好象有问题首先我没有用IDE建立工程,我是这样引用成功过
    我的类文件在d:\code目录下,就是testjar.java
    而这个目录下还有目录bb,目录下有类文件tt.class
    d:\code\javac testjar.java这样成功
      

  7.   

    在classpath下加了.
    错误依然,其实这个classpath就是为了你在任何地方执行java程序的时候用到的,如果你到相应的目录下执行,不配置也无所谓,请指正!
      

  8.   

    import java.io.*;
    public class testjar 
    {
    public static void main(String[] args) 
    {
    System.out.println("Hello World!");
    //tt test = new tt();
    }
    }
    把testjar.java改成这样,可以编译估计还是路径或是打包的问题,但是什么问题,找不到
      

  9.   

    打了包,要把这个包放在classpath中去
      

  10.   

    楼上的兄弟,那么请问为什么java自带的jar文件并没有放到classpath里就可以直接调用?
      

  11.   

    我想错误应该出现在步骤1中,能告诉我你是怎么编译的吗?如果你用的是D:\code\bb>javac bb.java 就错了,应该在D:\code>javac  bb/bb.java
      

  12.   

    D:\code>jar cvf bb.jar -C bb/ .
    改为
    D:\code>jar cvf bb.jar bb/bb.jar加在classpath下
    自己建的jar文件 一定的加在classpath下
      

  13.   

    终于在 tom2005(快乐着)的兄弟帮助下解决了问题最后有点疑问
    1、
    classpath是系统变量,修改后要重新启动,有没有好办法解决呢?
    2、
    D:\code>jar cvf bb.jar -C bb/ .
    改为
    D:\code>jar cvf bb.jar bb/
    这两个的不同我看了一下,解压缩后一样,但是两个相同的jar文件用winrar打开,用第一个命令打包的就带一个.目录
    这个原因是?
      

  14.   

    1一般不用启动吧,
    2我的再查一下,刚开始我也是照着你的D:\code>jar cvf bb.jar -C bb/ .
    这样写的,总是不行,只能看到目录,却没有类D:\code>jar cvf bb.jar *.*估计也可以
      

  15.   

    如果testjar.class和bb.jar在同一个目录下的话:
    1、classpath 加上 .
    2、在testjar.class里必须这样引用:bb.tt不加classpath,import bb.tt是不成功的
      

  16.   

    查到了是.的缘故
    jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...D:\code>jar cvf bb.jar -C bb/ tt.class就可以了
      

  17.   

    jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
    [-C 目录] 表示转到指定目录下去执行这个 jar 命令的操作。它相当于先使用 cd 命令转该目录下再执行不带 -C 参数的 jar 命令,它只能在创建和更新 JAR 文件包的时候可用。   文件名 ... 指定一个文件/目录列表,这些文件/目录就是要添加到 JAR 文件包中的文件/目录。如果指定了目录,那么 jar 命令打包的时候会自动把该目录中的所有文件和子目录打入包中。 
      

  18.   

    终于搞清楚是怎么回事,加分、结帖,感谢 tom2005(快乐着)