java windows cmd 下编译运行问题

来源:互联网 发布:sai有没有mac版 编辑:程序博客网 时间:2024/05/22 17:33
问题一:在 cmd 输入 javac 时报错,说 javac 不是内部和外部命令
解   决:环境变量配置错了,如下配置环境变量
  • JAVA_HOME  =   C:\Program Files\Java\jdk1.7.0_45(以默认安装路径为例,如果不是默认,自己修改成 java 安装的路径)
  • classpath   =   .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (注意刚开始的那个点号,很多人配置的时候忽略了它,其表示当前路径。注意是英文的分号)
  • Path   =   %JAVA_HOME%\bin; (在已有的后面追加,用分号分隔)

问题二:java、javac命令都好使,能够编译,用 java 命令执行时报错如下
Exception in thread "main" java.lang.UnsupportedClassVersionError: Hello : Unsup
ported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

解   决:执行命令“java -versio”和“javac -version”,会发现 java 程序的编译环境 javac 高于 java 执行环境。引发不一致的原因可能是在你其他软件中包含有不同版本的 java 运行环境,而且寻找 java 路径先找到了他,所以你配置的那个环境就忽略了,而 java 编译环境则是找到了你配置的那个路径,所以不同。只需要在环境变量 path 里将你配置的 java 环境放到最前面即可。


问题三:javac 好使的情况下,在eclipse下能够编译运行,但是 cmd 执行class文件时就是不行,helloworld能运行,但是运行其他带有package关键字的则提示“找不到或无法加载主类
解   决:亲,你被 IDE 惯坏了,注意存在的 package 路径。最简单的方法就是删掉第一行的 package 那句话,然后进入到 .java 文件所在的目录下,执行 "javac 文件名.java" 然后再 "java 文件名"即可。
也可以这样:
       javac main/MainClass.java     // main 为包名
       java main.MainClass


问题四:能够编译执行 java 程序,但是不在当前 .class 的路径下,通过 d:\\code\java······ 这种绝对路径方式和相对路径方式都执行不了
解   决:java 执行的只能是文件面加后缀,如果指定路径,则要通过 java 命令的 -cp 关键字


问题五:当程序中调用第三方的 jar 包时,传统命令则报出找不到相关内容的错误
解决:
 javac -cp jsoup-1.7.1 Test.java    // 我将jsoup与源文件都放到了同一个目录下
 java -cp .;jsoup-1.7.1 Test       // 注意 点 分号 和 jar包名 之间没有空格




0 0
原创粉丝点击