Qo'llab-quvvatlanmaydigan major.minor versiya 52.0 (sinfni yuklab bo'lmadi)

Men loyihani ishga tushirganimda quyidagi istisnolarni olaman:

javax.servlet.ServletException: java.lang.UnsupportedClassVersionError: apache/commons/codec/UtilityUtil : Unsupported major.minor version 52.0 (unable to load class apache.commons.codec.UtilityUtil)

Men tadqiqot qildim va agar java versiyasi ish vaqti va derleme vaqtidan farq qilsa, bu sodir bo'lganligini bilib oldim.

I have followed these two posts and tried to figure out that i am using java 8 and runtime has 1.7.: Unsupported major.minor version 52.0 captive portal How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

Men kompilyatsiya versiyasini 1.7 ga o'zgartirdim. Biroq, baribir, ayni muammo bor. Nima uchun bilmayman.

Foydalanish muddati: 1.7.0_45 Derleme versiyasi: 1.7.0_80.

Kimdir bu bilan menga yordam bera oladimi? Oldindan rahmat.

1
Java-1.7 dan foydalanganimdan aminman, lekin faqat tasdiqlash uchun tuzilgan versiya versiyasini ko'rishning usullari bormi? loyiha -> xususiyatlar -> java qurish yo'lini (jre 1.7 yordamida ishonch hosil qiling) loyiha -> xususiyatlar -> Java Compiler (1.7) yordamida ko'rishga harakat qilaman. @aalmiray
qo'shib qo'ydi muallif user7637864, manba
Java-1.7 dan foydalanganimdan aminman, lekin faqat tasdiqlash uchun tuzilgan versiya versiyasini ko'rishning usullari bormi? loyiha -> xususiyatlar -> java qurish yo'lini (jre 1.7 yordamida ishonch hosil qiling) loyiha -> xususiyatlar -> Java Compiler (1.7) yordamida ko'rishga harakat qilaman. @aalmiray
qo'shib qo'ydi muallif user7637864, manba
boshqalar ta'kidlaganidek, agar siz kodek kutubxonasini kompilyatsiya qilmoqchi bo'lsangiz, tuzilish targetCompatibility parametrini 1.7 ga aylantirishi kerak. Boshqa tomondan, kodek kutubxonasi (masalan, Maven markazidan yoki boshqa ikkita ikkilamchi ombordan) iste'mol qilsangiz, faqat bitta narsa siz o'zingizning Java8-ga yangilanadi, chunki siz olingan ikkilikni o'zgartira olmaysiz.
qo'shib qo'ydi muallif aalmiray, manba
Muammo sizning kompilyatoringiz sozlamalarida bo'lmasligi mumkin, lekin siz bog'liqliklar sifatida iste'mol qilayotgan ikkilamchi oynada bo'lishi mumkin. Apache kodekiga qaramligini github.com/zeroturnaround/bad-classes yordamida tekshiring. Agar u 52 (istalgan vaziyatga asosan Java8) ishlatsa, u holda kodni 1.8 yoki bilan ishlating va Apache Kodekining nusxasini manba sifatida o'rnating va iloji bo'lsa, uni 1.7 bilan kompilyatsiya qiling, bu sizning loyihangizga bog'liqlik.
qo'shib qo'ydi muallif aalmiray, manba

7 javoblar

Bu ikki nusxadir. Foydalanadigan sinflar, ehtimol, Java 1.8 bilan tuzilgan va jvm 1.7. Bu shuningdek, 3-guruh bankalarini ham o'z ichiga oladi

4
qo'shib qo'ydi
Biroq, uchinchi bankalar qayta tiklanmagan
qo'shib qo'ydi muallif efekctive, manba
Men serverni qayta qurib, serverga eng so'nggi tarqatganman. Shunday qilib, barcha mashg'ulotlar eng so'nggi versiyadan foydalanib tuzilishi kerakmi?
qo'shib qo'ydi muallif user7637864, manba
Sizning javobingiz uchun katta rahmat. Bu sizdan so'raganingiz uchun, lekin qanday qilib uchinchi tomon fayllarini @ defekktive qayta qurishim mumkin.
qo'shib qo'ydi muallif user7637864, manba
Salom. Siz to'g'ri. Java-JVM versiyasi: 1,8 [echo] Java/JVM tafsilot versiyasi: 1.8.0_73. Bajarish paytida java versiyasini chop uchun echo ishlatilgan. Men 1,7 versiyani qanday o'zgartirganiga qat'iy ishonmayman (masalan, men 1,7 ga qadar derleme versiyasini o'zgartirib, JRE 8ni olib tashladim va jre 7 ni qo'shdim.
qo'shib qo'ydi muallif user7637864, manba
Wooops, mening javobim uchun uzr so'rayman! siz menga nisbatan tezroq edingiz :) +1
qo'shib qo'ydi muallif Luca D'Amico, manba

Bu ikki nusxadir. Foydalanadigan sinflar, ehtimol, Java 1.8 bilan tuzilgan va jvm 1.7. Bu shuningdek, 3-guruh bankalarini ham o'z ichiga oladi

4
qo'shib qo'ydi
Biroq, uchinchi bankalar qayta tiklanmagan
qo'shib qo'ydi muallif efekctive, manba
Men serverni qayta qurib, serverga eng so'nggi tarqatganman. Shunday qilib, barcha mashg'ulotlar eng so'nggi versiyadan foydalanib tuzilishi kerakmi?
qo'shib qo'ydi muallif user7637864, manba
Sizning javobingiz uchun katta rahmat. Bu sizdan so'raganingiz uchun, lekin qanday qilib uchinchi tomon fayllarini @ defekktive qayta qurishim mumkin.
qo'shib qo'ydi muallif user7637864, manba
Salom. Siz to'g'ri. Java-JVM versiyasi: 1,8 [echo] Java/JVM tafsilot versiyasi: 1.8.0_73. Bajarish paytida java versiyasini chop uchun echo ishlatilgan. Men 1,7 versiyani qanday o'zgartirganiga qat'iy ishonmayman (masalan, men 1,7 ga qadar derleme versiyasini o'zgartirib, JRE 8ni olib tashladim va jre 7 ni qo'shdim.
qo'shib qo'ydi muallif user7637864, manba
Wooops, mening javobim uchun uzr so'rayman! siz menga nisbatan tezroq edingiz :) +1
qo'shib qo'ydi muallif Luca D'Amico, manba

52 = J2SE 8. Siz hali ham Java 1.8 bilan kompilyatsiya qilyapsiz (yoki siz foydalanadigan ba'zi libslar @fekctive tomonidan ishora qilingan 1,8 da olingan).

Iltimos, qanday buyruqni yaratish uchun foydalanmoqdasiz.

1
qo'shib qo'ydi

52 = J2SE 8. Siz hali ham Java 1.8 bilan kompilyatsiya qilyapsiz (yoki siz foydalanadigan ba'zi libslar @fekctive tomonidan ishora qilingan 1,8 da olingan).

Iltimos, qanday buyruqni yaratish uchun foydalanmoqdasiz.

1
qo'shib qo'ydi

@Fekctive kabi mening qurish sinf java uchun 8 foydalanib. Versiya 7 ga o'zgartirildi va kutilganidek ishladi. Hammaga rahmat.

0
qo'shib qo'ydi

@Fekctive kabi mening qurish sinf java uchun 8 foydalanib. Versiya 7 ga o'zgartirildi va kutilganidek ishladi. Hammaga rahmat.

0
qo'shib qo'ydi

Iltimos, JRE versiyasini va JDK versiyasini topish uchun quyidagi amallarni bajaring.

JRE nazorat qiling

java-varianti

java versiyasi "1.7.0_111" OpenJDK ish vaqti muhiti (IcedTea 2.6.7) (7u111-2.6.7-2 ~ deb7u1) OpenJDK 64-Bit Server VM (24.111-b01 o'rnatish, aralash holat)

JDK tekshiruvi

javac-versiya

javac 1.6.0_38

Va har ikkala variant ham farq qiladi. Shunday qilib, ularni umumiy versiyasiga aylantiring. Bu sizning muammoingizni hal qiladi.

0
qo'shib qo'ydi