Java >> Java opplæring >  >> Java

Ikke støttet major.minor-versjon Feil

Ikke støttet major.minor versjon Feil

Ustøttet major.minor versjonsfeil er på grunn av feil i Java-versjonen. Det skjer når du kompilerer prosjektene dine i høyere versjon av java (f.eks. jdk 1.8) og kjør den på en lavere versjon (f.eks. jdk 1.7). Avhengig av situasjonen din, har du to måter å løse denne feilen på:kompiler koden for en tidligere versjon av Java, eller kjør koden på en nyere Java-versjon. Noen ganger kan du ha mer enn én versjon av Java SDK installert på maskinen din. Sørg for at programmet du kjører peker til høyre eller høyeste tilgjengelige versjon . Det er bedre at du må installere både JRE/JDK med samme versjon.



Java minor_version, major_version

Verdiene til minor_version og major_version elementer er de underordnede og store versjonsnumrene til denne Java-klassefilen. Sammen bestemmer et større og et mindre versjonsnummer versjonen av .class-filformatet. Hvis en klassefil har hovedversjonsnummer M og mindre versjonsnummer m, betegner vi versjonen av dets klassefilformat som M.m. Dermed kan klassefilformatversjoner bestilles leksikografisk , for eksempel 1,5 <2,0 <2,1.

Hovedversjonsnummer for klassefilformatet som brukes.

  1. Java SE 14 =58 (0x3A hex)
  2. Java SE 13 =57 (0x39 hex)
  3. Java SE 12 =56 (0x38 hex)
  4. Java SE 11 =55 (0x37 hex)
  5. Java SE 10 =54 (0x36 hex)
  6. Java SE 9 =53 (0x35 hex)
  7. Java SE 8 =52 (0x34 hex)
  8. Java SE 7 =51 (0x33 hex)
  9. Java SE 6.0 =50 (0x32 hex)
  10. Java SE 5.0 =49 (0x31 hex)
  11. JDK 1.4 =48 (0x30 hex)
  12. JDK 1.3 =47 (0x2F hex)
  13. JDK 1.2 =46 (0x2E hex)
  14. JDK 1.1 =45 (0x2D hex)

Java-kompatibilitet

Java prøver sterkt å være bakoverkompatibel men noen ganger er endringer som ikke er bakoverkompatible nødvendige for å utvikle økosystemet . Vanligvis er det mange som tenker hvorfor du får en versjonsfeilmelding hvis Java er bakoverkompatibel . Vel, det er sant at Java er bakoverkompatibel, noe som betyr at du kan kjøre en Java-klassefil eller Java binær (JAR-fil) kompilert i lavere versjon (java 6) til høyere versjon, f.eks. Java 8, men det betyr ikke at du kan kjøre en klasse kompilert med Java 7 til Java 5, det er fordi høyere versjon har vanligvis funksjoner som ikke støttes av lavere versjon .

For f.eks. Ustøttet major.minor versjon 52.0 kommer når du prøver å kjøre en klasse kompilert med Java 1.8 kompilator til en lavere JRE-versjon f.eks. JRE 1.7 eller JRE 1.6. For å fikse det faktiske problemet bør du prøve å enten kjøre Java-koden med en nyere versjon av Java JRE eller spesifiser målparameteren til Java-kompilatoren for å instruere kompilatoren til å lage kode som er kompatibel med tidligere Java-versjoner .

Eclipse

Hvis du bruker Eclipse du bør gjøre 2 ting:

I Eclipse klikker du på Vindu> Innstillinger , og i vinduet som vises, på venstre side, under Java , klikk på Installerte JRE-er , klikk på Legg til... og naviger til mappen som inneholder JDK.



Merk av for å aktivere den nødvendige versjonen av JRE.

Høyreklikk på prosjektet og klikk på Egenskaper , i vinduet som vises, på venstre side, klikk på Java Compiler og fjern merket for Bruk samsvar fra utførelsesmiljøet på Java Build Path, lar dette deg velge Compiler compliance level i listen samme versjon som du satte i forrige trinn.



Hvis versjonen av kompilatorsamsvarsnivå og installert JRE er annerledes, eclipse gir meldingene som følger. "Når du velger 1.8-samsvar, sørg for å ha en kompatibel JRE installert og aktivert (for øyeblikket 1.7)"

Android Studio

Hvis du har installert Android N , endre Android-gjengivelsesversjonen med en eldre versjon, og problemet vil forsvinne.



NetBeans

Hvis du bruker NetBeans IDE , høyreklikk på prosjektet og velg Egenskaper og gå til kilder, så kan du endre kilde-/binærformatet til en lavere JDK-versjon.

Hvis du bruker Maven , kan du angi JDK-versjonen av hver modul ved å plassere en fil kalt nb-configuration.xml ved siden av pom.xml med følgende innhold:

 


    
        JDK_1.7
    

Java-plattformen "JDK_1.7" må konfigureres i Verktøy -> Java-plattformer -> Legg til plattform .



Java Tag