做了一年多的JAVA,突然对许多基础概念都感到模糊
我现在有个疑问,就是我们开发的JAVA程序,如果放在一台只装了JRE的机器上
而JAVA程序用到了JDK以外的包,那么,是否需要将这些类包引进到JRE中?如果不引进,哪么JAVA程序如何识别这些类包?

解决方案 »

  1.   

    我是说,是否还需要设置CLASSPATH
      

  2.   

    还真不明白啊!我是使用的时候,经常都配置了jdk的环境,不配置肯定是不行的.
      

  3.   

    咱们开发程序的时候一般就是在自己的机器上调试了,我想,把程序移植到新的机器,那台机器只装JRE,JRE肯定也都只是JDK的基本包,那么,如果我们用到了别的包,是否还需要将包放入JRE中?
      

  4.   

    个人理解:lz所说的"JAVA程序用到了JDK以外的包"的情况应该是不存在的吧,因为jdk较jre而言只是编译、调试Java程序的工具等等,包都是一样的。JDK让我们有一个比较完整的工具箱,去编译、调试并运行Java程序,而在运行时显然就不再用到这些功能了,只要jre就行了。
      

  5.   

    是啊,我就是说,我们平常在自己的机器上开发调试,但是真的要是自己给客户做东西,移植到另外的机器上,那么JAVA的机制我还是不清楚的
      

  6.   

    你是打成 JAR 包运行的么?如果是 jar 应用程序的话,在使用 java -jar 或 javaw -jar 启动程序时,-classpath 参数无效!需要采用另
    外一种方式:用到第三方的类库时,需要在 JAR 的 META-INF 目录中的 MANIFEST.MF 文件加上
    ClassPath: lib/xxx.jar lib/yyy.jar lib/zzz.jar比如说你的应用程序打成的包名为 a.jar,放在 d:\test 目录,这时需要在 test 目录下再建个 lib 目录,把你
    所用的 xxx.jar, yyy.jar, zzz.jar 放在 lib 下就行了。当然了,也可以不叫 lib 或得说跟 a.jar 放在同一个
    目录下,这时 MANIFEST.MF 中那个 Class-Path: 的路径就得改了,实际上那个路径是相对于 a.jar 的路径。