在CMD下对Java程序的调试_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 在CMD下对Java程序的调试

在CMD下对Java程序的调试

 2012/7/9 21:25:18  漫步邃思  程序员俱乐部  我要评论(0)
  • 摘要:问题1:在Eclipse下可以正确的编译运行,在CMD下到了源文件夹下,可以正确的编译,但用java命令运行时,一直报Main主线程异常,说找不到类?解答:这和classpath的设置有关系,在执行java命令时,首先会查找系统变量里classpath中是否找到类,找不到就会报错,有两种解决方案:1把你当前的目录加入到classpath中;2使用-classpath选项指定类存放的路径。问题2:javac-version和java-version两个版本不一样的问题
  • 标签:程序 Java
问题1:在Eclipse下可以正确的编译运行,在CMD下到了源文件夹下,可以正确的编译,但用java命令运行时,一直报Main主线程异常,说找不到类?
解答:这和classpath的设置有关系,在执行java命令时,首先会查找系统变量里classpath中是否找到类,找不到就会报错,有两种解决方案:1把你当前的目录加入到classpath中;2使用 -classpath选项指定类存放的路径。

问题2:javac -version 和 java -version 两个版本不一样的问题?
今天在CMD下编译程序忽然发现两个命令出来的版本号是不一样,当然,我机器本身安装了多个版本的jdk,javac使用的是环境变量JAVA_HOME所指定的版本,java命令使用的另一个版本,原来是在使用exe文件安装JDK时在注册表里添加了JAVA_HOME注册项,而java会优先选用注册表里面的,因此要和系统变量里面的统一,需要修改Windows Registry (HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment)下的JAVA_HOME键值和RunTimeLib(重要)键值

java命令简介:
当我们在命令行输入:
Java(javac) XXX
的时候,java.exe(javac.exe)的工作就是找到合适的JRE来执行类文件。java.exe(javac.exe)依照如下逻辑来寻找JRE:

自己的目录下有没有JRE目录(这么说并不是非常精确,原因请详见JDK源代码,在此不作特别说明); 
父目录下的JRE子目录; 
查询Windows Registry (HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment); 
所以,java.exe(javac.exe)的执行结果和“您计算机里面哪一个java.exe被执行,然后哪一套JRE被拿来执行java应用程序”有莫大的关系。

可用参数-verbose来大致查看调用的JRE的路径
发表评论
用户名: 匿名