Java Compiling Error in Command prompt: class file has wrong version 52.0, should be 50.0 [duplicate]

冷暖自知 提交于 2019-12-02 00:55:13

问题


I create a java library program and used it in another java program as .jar file. My IDE is NetBeans. I tried the same concept via command line and I got the following error:

class file has wrong version 52.0, should be 50.0 Please remove or make sure it appears in the correct sub directory of the class path. import Demo1_Lib.Test1; ^

This are my steps.

Step 1: Created the following class library in NetBeans IDE.

  package Demo1_Lib;

 /**
  *
  * @author tveluppillai
 */
public class Test1 
{
  public void print() 
  {
    System.out.println("hello");
  }    
 }

Step 2: Create a java project on netbeans and add the jar file. (Test1.jar) and consume the class library function.

 package test2;

 import Demo1_Lib.Test1;

 /**
 *
    * @author tveluppillai
 */

  public class Test2 
  {

   /**
    * @param args the command line arguments
    */
    public static void main(String args[]) 
   {
     Test1 obj = new Test1();
     obj.print();       
    }

 } 

This compiles fine and when I ran, it gives me the right output in NetBeans

However, when I do the same thing using command prompt I got error.

I used the following command to compile and run it.

javac -cp C:\\Demo_Lib\\Test\\Test1.jar Test2.java

I got the following error:

class file has wrong version 52.0, should be 50.0 Please remove or make sure it appears in the correct sub directory of the class path. import Demo1_Lib.Test1; ^

What am I missing?


回答1:


You are trying to run/reference a class compiled with JDK 8 using a runtime/compiler JRE/JDK 6.

The Java being used by the command line is probably a different version than the one used by NetBeans.

See Java class file for a list of what the numbers mean.

Download JDK8, or if you already have it, add it to your path and set JAVA_HOME.

In Unix:

export JAVA_HOME=directory
export PATH=$PATH:$JAVA_HOME/bin



回答2:


After I change the JDK8 to my JAVA_HOME, I was able to compile the following way and run the code...

Compile:

     javac -cp C:\\Demo_Lib\\Test\\Test1.jar Test2.java

Run:

     javac -cp C:\\Demo_Lib\\Test\\Test1.jar;**.** Test2.java


来源:https://stackoverflow.com/questions/29906659/java-compiling-error-in-command-prompt-class-file-has-wrong-version-52-0-shoul

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!