Java.lang.VerifyError পাওয়ার কারণগুলি


191

আমি নিম্নলিখিত তদন্ত করছি java.lang.VerifyError

java.lang.VerifyError: (class: be/post/ehr/wfm/application/serviceorganization/report/DisplayReportServlet, method: getMonthData signature: (IILjava/util/Collection;Ljava/util/Collection;Ljava/util/HashMap;Ljava/util/Collection;Ljava/util/Locale;Lorg/apache/struts/util/MessageRe˜̴Mt̴MÚw€mçw€mp:”MŒŒ
                at java.lang.Class.getDeclaredConstructors0(Native Method)
                at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
                at java.lang.Class.getConstructor0(Class.java:2671)

এটি ঘটে যখন সার্বলেট স্থাপন করা jboss সার্ভারটি শুরু হয়। এটি jdk-1.5.0_11 দিয়ে সংকলিত হয়েছে এবং আমি এটি সফলভাবে ছাড়াই jdk-1.5.0_15 দিয়ে পুনরায় সংকলনের চেষ্টা করেছি। এটি সংকলনটি সূক্ষ্মভাবে চলে তবে যখন স্থাপন করা হয় তখন java.lang.VerifError ঘটে।

যখন আমি পদ্ধতির নাম পরিবর্তন করেছি এবং নিম্নলিখিত ত্রুটি পেয়েছি:

java.lang.VerifyError: (class: be/post/ehr/wfm/application/serviceorganization/report/DisplayReportServlet, method: getMD signature: (IILjava/util/Collection;Lj    ava/util/Collection;Ljava/util/HashMap;Ljava/util/Collection;Ljava/util/Locale;Lorg/apache/struts/util/MessageResources ØÅN|ØÅNÚw€mçw€mX#ÖM|XÔM
            at java.lang.Class.getDeclaredConstructors0(Native Method)
            at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357
            at java.lang.Class.getConstructor0(Class.java:2671)
            at java.lang.Class.newInstance0(Class.java:321)
            at java.lang.Class.newInstance(Class.java:303)

আপনি দেখতে পাচ্ছেন যে পদ্ধতিটির আরও বেশি স্বাক্ষর দেখানো হয়েছে।

আসল পদ্ধতিটির স্বাক্ষর

  private PgasePdfTable getMonthData(int month, int year, Collection dayTypes,
                          Collection calendarDays,
                          HashMap bcSpecialDays,
                          Collection activityPeriods,
                          Locale locale, MessageResources resources) throws   Exception {

আমি ইতিমধ্যে এটির সাথে দেখার চেষ্টা করেছি javapএবং এটি পদ্ধতিটি যেমন হওয়া উচিত তেমন স্বাক্ষর দেয়।

আমার অন্যান্য সহকর্মীরা যখন কোডটি পরীক্ষা করে দেখুন, এটি সংকলন করুন এবং এটি স্থাপন করুন তখন তাদের একই সমস্যা হয়। বিল্ড সার্ভার কোডটি বাছাই করে এবং এটিকে বিকাশ বা পরীক্ষার পরিবেশে (এইচপিইউक्स) স্থাপন করে, একই ত্রুটি ঘটে। এছাড়াও উবুন্টু চলমান একটি স্বয়ংক্রিয় পরীক্ষামূলক মেশিন সার্ভার শুরুর সময় একই ত্রুটি দেখায়।

বাকি অ্যাপ্লিকেশন ঠিক আছে, কেবলমাত্র একটি সার্লেটের অর্ডার শেষ। যে কোনও ধারণা যেখানে সন্ধান করবে তা সহায়ক হবে।


1
তুলনাফেইলারের ভুল সংস্করণ ব্যবহার করে এটি পেয়েছি। চিরকাল বেড়াতে গিয়েছিল ... তা বেদনাদায়ক ছিল
টিম বোল্যান্ড

1
অ্যান্ড্রয়েড স্টুডিওতে তাত্ক্ষণিকভাবে রান ব্যবহার করার সময় এটি পেয়েছি (সংকলনের উপর হটস্যাপিং)। এটি বন্ধ করে কাজটি করেছে।
সার্জ

উত্তর:


188

java.lang.VerifyError আপনি রানটাইম ব্যবহারের চেয়ে আলাদা লাইব্রেরির তুলনায় সংকলন করলে ফলাফল হতে পারে।

উদাহরণস্বরূপ, জেরেসেস 1 এর বিপরীতে সংকলিত একটি প্রোগ্রাম চালানোর চেষ্টা করার সময় আমার সাথে এটি ঘটেছিল তবে ক্লাসপাথে জেরেস 2 পাওয়া গিয়েছিল। প্রয়োজনীয় ক্লাসগুলি ( org.apache.*নেমস্পেসে) রানটাইমের সময় পাওয়া গেছে, সুতরাং ফলাফল ClassNotFoundExceptionছিল না । ক্লাস এবং পদ্ধতিতে পরিবর্তন হয়েছে, যাতে রানটাইমের সময় পাওয়া পদ্ধতিটির স্বাক্ষরগুলি সংকলন-সময়ে কী ছিল তার সাথে মেলে না।

সাধারণত, সংকলক যেখানে সমস্যার সাথে মেইল ​​স্বাক্ষর মেলে না এমন সমস্যাগুলি পতাকাঙ্কিত করে। ক্লাসটি লোড হয়ে যাওয়ার পরে জেভিএম আবার বাইটোকোড যাচাই করবে এবং VerifyErrorবাইটকোড এমন কিছু করার চেষ্টা করছে যখন অনুমতি দেওয়া উচিত নয় - যেমন একটি পদ্ধতি কল করে যা কলটি দেয় Stringএবং তারপরে এমন একটি ক্ষেত্রের মধ্যে সেই রিটার্নের মান সংরক্ষণ করে List


3
একটি জিনিস যুক্ত করতে হবে, কখনও কখনও এটি আইডিই এর ত্রুটি, বা ডিভাইস যা বাইটকোড সঠিক নয়। সিঙ্ক ইস্যুটি সনাক্ত করতে এটির জন্য আইডিই পুনরায় চালু করার চেষ্টা করুন। ব্যর্থ হ'ল অ্যাপটি মুছুন এবং পুনরায় ইনস্টল করুন। ডিভাইসটি রিবুট করাও সহায়তা করতে পারে।
ইমাম 747

2
কোন শ্রেণীর অপরাধী তা খুঁজে পেতে ভিএম যুক্তি যুক্ত করুন -verbose:classএবং তারপরে ক্লাসটি লোড হওয়ার ঠিক আগে অনুসন্ধান করুন java.lang.VerifyError। এটি JAR যাওয়ার পথ পাবে। javapআপনি যে ক্লাসটির সাথে সংকলন করছেন তার সাথে এটি তুলনা করুন । আমি এইটিকে দরকারী হিসাবে খুঁজে পেয়েছি কারণ যে ক্লাসটি ত্রুটিতে রিপোর্ট করা হয়েছিল কারণ এটি আসলে যুক্তিগুলির মধ্যে একটি নয়।
স্টিনিবোট

21

java.lang.VerifyError সবচেয়ে খারাপ।

আপনার পদ্ধতির বাইটকোড আকারটি 64kb সীমা ছাড়িয়ে গেলে আপনি এই ত্রুটিটি পেয়ে যাবেন; তবে আপনি সম্ভবত এটি লক্ষ্য করতে হবে।

আপনি কি 100% নিশ্চিত যে এই ক্লাসটি আপনার আবেদনের অন্য কোথাও ক্লাসপথে উপস্থিত নেই, হতে পারে অন্য জারে?

এছাড়াও, আপনার স্ট্যাকট্রেস থেকে, উত্স ফাইলের অক্ষর এনকোডিং ( utf-8?) এটি কি সঠিক?


আমি নিশ্চিত এটি অন্য কোথাও উপস্থিত নেই। এটি 43 কেবি, এটি এখনও একটি বড় শ্রেণি।
জেরোইন ওয়াইসুর

সেই পোস্টের জন্য ধন্যবাদ, আমার ক্ষেত্রে এটি একটি আলাদা এনকোডিং ছিল: জ্যাস্পার রিপোর্টারস এক্সএমএল ফাইলগুলি একটি এনকোডিং এবং জাভা সংস্করণ সংরক্ষণ করে, আপনাকে সে অনুযায়ী আপনার প্রকল্প সেটিংসে সেট করতে হবে (আইআরপোর্টের মাধ্যমে)। এখানে সমস্যাটি ছিল, এনকোডিংয়ের সাথে আপনার ধারণার জন্য ধন্যবাদ! :)
টোবিয়াস

এটি অ্যান্ড্রয়েড পরীক্ষাগুলির জন্য আমার সমস্যা ছিল, মাল্টিডেক্সিং এটিকে ঠিক করেছিল।
প্রকাশ নাদের

10

কেভিন প্যাঙ্কো যেমন বলেছিলেন, এটি বেশিরভাগ সময় লাইব্রেরি পরিবর্তনের কারণে। সুতরাং কিছু ক্ষেত্রে প্রকল্পের একটি "ক্লিন" (ডিরেক্টরি) একটি বিল্ড দ্বারা অনুসরণ করা হয়।


9

আপনি -Xverify:allযা চেষ্টা করতে পারেন তা হ'ল যা লোডে বাইটকোড যাচাই করবে এবং বাইটকোডটি অবৈধ থাকলে মাঝে মাঝে সহায়ক ত্রুটি বার্তা দেয়।


8

আমি এখানে বর্ণিত, প্রকল্প আমি একটি লাইব্রেরি আমদানি করতে হচ্ছে করে Android এর উপর এই ত্রুটি সংশোধন করা http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

পূর্বে, আমি কেবল প্রকল্পটি উল্লেখ করছিলাম (এটি একটি লাইব্রেরি বানানো নয়) এবং আমি এই অদ্ভুত ভেরিফেরিয়র পাচ্ছি।

আশা করি এটি কাউকে সাহায্য করবে।


2
লিঙ্কটি আর উপলব্ধ নেই, দয়া করে এটি ঠিক করুন। ধন্যবাদ
মাহদী রশিদী

8

ভেরিফেরার অর্থ ক্লাস ফাইলটিতে বাইটোকড রয়েছে যা সিনট্যাক্টিকভাবে সঠিক তবে কিছু শব্দার্থিক বাধা লঙ্ঘন করে যেমন একটি জাম্প টার্গেট যা পদ্ধতির গণ্ডি অতিক্রম করে।

মূলত, যখন একটি কম্পাইলার বাগ থাকে বা ক্লাস ফাইলটি অন্য কোনও উপায়ে দূষিত হয়ে যায় (উদাহরণস্বরূপ ত্রুটিযুক্ত র্যাম বা একটি ব্যর্থ এইচডি এর মাধ্যমে) কেবলমাত্র একটি যাচাইকারী ঘটতে পারে।

একটি ভিন্ন জেডিকে সংস্করণ এবং একটি ভিন্ন মেশিনে সংকলনের চেষ্টা করুন।


5

আমার ক্ষেত্রে আমার অ্যান্ড্রয়েড প্রকল্প জাভা for এর জন্য সংকলিত অন্য জাভা প্রকল্পের উপর নির্ভর করে java.lang.VerifyErrorthat জাভা প্রকল্পের কমপ্লায়ার কমপ্লায়েন্স স্তরটি পরিবর্তন করার পরে অদৃশ্য হয়ে গেল 6

পরে আমি জানতে পেরেছি যে এটি ডালভিক সমস্যা: https://groups.google.com/forum/?fromgroups#!topic/android-developers/sKsMTZ42pwE


1
ডালভিক জাভা 6 এর একটি ব্রাঞ্চ সংস্করণ তাই কোনও জাভা 7 বৈশিষ্ট্য উপলব্ধ নেই!
জেরোইন উইসুর

4

ক্লাস ফাইলে ম্যাঙ্কলিং 200 করার কারণে আমি এই সমস্যাটি পেয়েছিলাম। কিছুটা অনুসন্ধানে এই জাভা বাগটি সরিয়ে নেওয়া হয়েছে। মূলত, সেটিংস --effort=4সমস্যার কারণে চলে যায়।

জাভা 1.5.0.077 ব্যবহার করে (যদিও এটি জাভা 1.5 এর প্রতিটি একক ভেরিয়েন্টে ক্রপ হয়েছে আমি চেষ্টা করেছিলাম)।


3

আমি প্রতিস্থাপন করে অনুরূপ জাভা.লং.ভেরিফেরিয়ার সমস্যা সমাধান করেছি

        catch (MagickException e)

সঙ্গে

        catch (Exception e)

যেখানে MagickExceptionএকটি গ্রন্থাগার প্রকল্পে সংজ্ঞায়িত হয়েছিল (যার উপর আমার প্রকল্পের নির্ভরতা রয়েছে)।

এর পরে আমি java.lang.NoClassDefFoundErrorএকই লাইব্রেরি থেকে একটি ক্লাস পেয়েছি ( https://stackoverflow.com/a/9898820/755804 অনুসারে স্থির )।


1
এটি আমার পক্ষে কাজ করেছে ... আমি "কম্বল ব্যতিক্রমের সাথে আমাকে প্রতিস্থাপন করুন এবং আমি কাজ করব" ছাড়া ত্রুটিটি কী ছিল তা সত্যই আমি খুঁজে বের করতে চাই।
অ্যালেক্স হার্ট

: @AlexHart এটি Android এর জন্য, কিন্তু সম্ভবত একই যুক্তি এন্টারপ্রাইজ জাভা জন্য আবেদন করবে stackoverflow.com/a/36814155/253468
TWiStErRob

2

অ্যান্ড্রয়েডে এটি ঘটতে পারে যখন আপনি কোনও লাইব্রেরি লোড করার চেষ্টা করছেন যা ওরাকলের জেডিকে বিপরীতে সংকলিত হয়েছিল।

নিং অ্যাসিঙ্ক এইচটিটিপি ক্লায়েন্টের জন্য এখানে সমস্যা


আপনি কি এখনও এর জন্য সমাধান পেয়েছেন @ মার্টিনকোনিসেক
আবিমবোলা এসুরুওসো

2

আমার ক্ষেত্রে আমাকে এই ব্লকটি সরিয়ে ফেলতে হয়েছিল:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

এটি Fragment.showDialog()পদ্ধতি কলের নিকটে ত্রুটি দেখাচ্ছে ।


2

ন্যূনতম উদাহরণ যা ত্রুটি উত্পন্ন করে

একটি সাধারণ সম্ভাবনা হ'ল জেসমিন ব্যবহার করা , বা বাইনারি ফাইল সম্পাদকের সাহায্যে বাইকোড ম্যানুয়ালি সম্পাদনা করা।

voidকোনও returnনির্দেশ ছাড়াই পদ্ধতি তৈরি করতে দেয় ( return;জাভাতে বিবৃতি দিয়ে উত্পন্ন ), যা জেভিএমএস বলেছে যে এটি অবৈধ।

জেসমিনে আমরা লিখতে পারি:

.class public Main
.super java/lang/Object

.method public static main([Ljava/lang/String;)V
   aload_0 ; Just so that we won't get another verify error for empty code.
.end method

আমরা তখন করি javac Main.jএবং javap -v Mainবলি যে আমরা সংকলন করেছি:

public static void main(java.lang.String[]);
  descriptor: ([Ljava/lang/String;)V
  flags: ACC_PUBLIC, ACC_STATIC
  Code:
    stack=1, locals=1, args_size=1
       0: aload_0

সুতরাং সত্যিই কোন রিটার্ন নির্দেশ নেই।

এখন যদি আমরা চালানোর চেষ্টা করি তবে java Mainআমরা পেয়ে যাব:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.VerifyError: (class: NoReturn, method: main signature: ([Ljava/lang/String;)V) Falling off the end of the code
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
        at java.lang.Class.getMethod0(Class.java:3018)
        at java.lang.Class.getMethod(Class.java:1784)
        at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)

এই ত্রুটিটি জাভা ঘটতে পারে স্বাভাবিকভাবে, যেহেতু জাভা কম্পাইলার একটি অন্তর্নিহিত যোগ returnকরার voidআমাদের জন্য পদ্ধতি। এ কারণেই returnআমাদের আমাদের mainপদ্ধতিগুলিতে একটি যুক্ত করার দরকার নেই । আপনি এটি দিয়ে পরীক্ষা করতে পারেন javap

JVMS

আপনি যখন জেভিএমএস 7 অধ্যায়ের 4.5 অধ্যায়ে নির্দিষ্ট কিছু অবৈধ শ্রেণীর ফাইল চালানোর চেষ্টা করবেন তখন যাচাইকরণটি ঘটে

জেভিএমএস বলছে যে জাভা যখন কোনও ফাইল লোড করে, ক্লাস ফাইলটি চালানোর আগে এটি ঠিক আছে কিনা তা পরীক্ষা করে দেখার জন্য এটি অবশ্যই একটি সিরিজ পরীক্ষা করবে।

এই জাতীয় ত্রুটিগুলি জাভা কোডের একক সংকলন এবং রান চক্রের মধ্যে উত্পন্ন করা যায় না, কারণ জেভিএমএস 7 4.10 বলেছেন :

যদিও জাভা প্রোগ্রামিং ভাষার জন্য একটি সংকলক অবশ্যই শ্রেণীর ফাইলগুলি তৈরি করতে হবে যা সমস্ত স্থিতিশীল এবং কাঠামোগত বাধাগুলি পূরণ করে [...]

সুতরাং একটি সর্বনিম্ন ব্যর্থতার উদাহরণটি দেখতে, আমাদের ছাড়া সোর্স কোডটি তৈরি করা দরকার javac


1

এই পৃষ্ঠাটি আপনাকে কিছু ইঙ্গিত দিতে পারে - http://www.zanthan.com/itymbi/archives/000337.html

সেই পদ্ধতির শরীরে একটি সূক্ষ্ম বাগ থাকতে পারে যা জাভাক স্পট করতে ব্যর্থ হয়েছিল। আপনি এখানে পুরো পদ্ধতিটি পোস্ট না করে নির্ণয় করা কঠিন।

আপনি যতগুলি সম্ভব চূড়ান্ত হিসাবে চূড়ান্ত হিসাবে ঘোষণা করে শুরু করতে পারেন ... এটি জাংথান সাইটে উল্লিখিত বাগটি ধরতে পারত, এবং যাইহোক প্রায়শই এটি একটি ভাল অনুশীলন।


1
সেই লোকটি ২০০২ সালে একটি সংকলক বাগটি আঘাত করেছিল তবে সেই বাগটি তখন থেকেই স্থির করা হয়েছে।
কেভিন প্যাঙ্কো

1

আমার ক্ষেত্রে ঠিক আছে, আমার প্রজেক্ট এ এর ​​অন্যটির উপর নির্ভরতা ছিল, এক্স (এক্সটি সংজ্ঞায়িত কিছু শ্রেণীর ব্যবহার করছিল)। সুতরাং আমি যখন এ এর ​​বিল্ড পাথে রেফারেন্স প্রকল্প হিসাবে এক্স যুক্ত করেছি, তখন আমি এই ত্রুটি পেয়েছি। তবে আমি যখন রেফারেন্সড প্রকল্প হিসাবে এক্সটিকে সরিয়েছি এবং এক্স এর জারটিকে একটি গ্রন্থাগারের মধ্যে অন্তর্ভুক্ত করেছি, তখন সমস্যাটি সমাধান করা হয়েছিল।


1

আপনার ক্লাসপথে একই জারের ফাইলের একাধিক সংস্করণ পরীক্ষা করুন।

উদাহরণস্বরূপ, আমার ক্লাসপথে আমি ওপেনল্প-সরঞ্জামস -১.৩.০.জাজার এবং ওপেননল্প-সরঞ্জাম -২.৩.৩.২০ পেয়েছি এবং এই ত্রুটি পেয়েছি। সমাধানটি ছিল ওপেনল্প-সরঞ্জাম -১.৩.০.জার মুছে ফেলা।


1

সিআরআইএলবি <২.২ সাথে জেআরই> 6 একই ধরণের ত্রুটিগুলি ট্রিগার করতে পারে, দেখুন "আমাকে কি সিজিআইএলআইবি 3.0 এ আপগ্রেড করা উচিত?" এবং স্প্রিং এসপিআর -9669 এ কিছু মন্তব্য ।

এটি বিশেষত সত্য যখন জেআরই 6 এ সবকিছু ঠিকঠাক কাজ করে এবং কেবল জেআরই 7 এ স্যুইচ করা জিনিসগুলিকে ভেঙে দেয়।


1

এই ত্রুটির অন্য কারণ হ'ল জেআরআই> 6 এর সাথে অ্যাসপেক্টজে <= 1.6.11 এর সংমিশ্রণ হতে পারে।

দেখুন অন্ধকার বাগ 353467 এবং Kieker টিকেট 307 বিস্তারিত জানার জন্য।

এটি বিশেষত সত্য যখন জেআরই 6 এ সবকিছু ঠিকঠাক কাজ করে এবং জেআরআই 7 এ চলে যাওয়া জিনিসগুলি ভেঙে দেয়।


1

আপনার যখন মাভেনের সাথে প্রচুর মডিউল আমদানি করা হয় তখন এটিও ঘটতে পারে। দুই বা ততোধিক ক্লাস থাকবে একই নাম (একই যোগ্য নাম) সহ। এই ত্রুটিটি সংকলন সময় এবং রানটাইমের মধ্যে ব্যাখ্যার পার্থক্যের ফলে ঘটে।


1

আপনি যদি জাভা 7 এ স্থানান্তরিত হন বা জাভা 7 ব্যবহার করছেন তবে সাধারণত এই ত্রুটিটি দেখা যায়। আমি উপরের ত্রুটিগুলির মুখোমুখি হয়েছি এবং মূল কারণটি অনুসন্ধান করার জন্য আমি অনেক লড়াই করেছি, আমি আপনার অ্যাপ্লিকেশনটি চালনার সময় "-XX: -UseSplitVerifier" JVM যুক্তি যুক্ত করার চেষ্টা করার পরামর্শ দেব ।


1

আপডেট করার পর Gradleঅ্যান্ড্রয়েড স্টুডিও 3.6.1 বিপর্যস্ত মুক্তি বিল্ড 19 API- এর উপর ঘটেছে।

একটি Glideলাইব্রেরি ত্রুটি ছিল । সমাধানটি প্রগুয়ার্ড-রুলস.টিএসটি পুনরায় লেখার জন্য ।

এছাড়াও ডাউনগ্রেডিংয়ের Gradleকাজগুলি ( classpath 'com.android.tools.build:gradle:3.5.3') তবে এটি একটি পুরানো সমাধান, এটি ব্যবহার করবেন না।


0

যদিও কেভিন দ্বারা উল্লিখিত কারণটি সঠিক, তবে আমি অন্য কোনও কিছুতে যাওয়ার আগে অবশ্যই নীচে চেক করব:

  1. cglibsআমার ক্লাসপথে পরীক্ষা করে দেখুন ।
  2. hibernateআমার ক্লাসপথে সংস্করণগুলি পরীক্ষা করুন ।

সম্ভাবনাগুলি ভাল যে উপরের যে কোনওটির একাধিক বা বিবাদী সংস্করণ থাকা সত্ত্বেও প্রশ্নের মতো অপ্রত্যাশিত সমস্যার কারণ হতে পারে।


0

java.lang.VerifyError এর অর্থ আপনার সংকলিত বাইকোড এমন কোনও কিছুকে উল্লেখ করছে যা অ্যান্ড্রয়েড সন্ধান করতে পারে না। এই যাচাইকরণটি আমাকে কেবলমাত্র Kitkat4.4 ইস্যু করে এবং এর তুলনায় কম সংস্করণ নয় যা আমি উভয় ডিভাইসে একই বিল্ড চালিয়েছি । আমি যখন পুরানো সংস্করণটির জ্যাকসন জসন পার্সার ব্যবহার করি তখন এটি java.lang.veriferror দেখায়

compile 'com.fasterxml.jackson.core:jackson-databind:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-core:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.+'

তারপরে আমি মূল লাইব্রেরি ছাড়াই নির্ভরতা সর্বশেষতম সংস্করণ ২.২ থেকে ২.7 এ পরিবর্তন করেছি , তবে এটি কার্যকর হয়। যার অর্থ মেথডস এবং কোরের অন্যান্য সামগ্রীগুলি ডেটাবাইন্ড 2.7 এর সর্বশেষতম সংস্করণে স্থানান্তরিত হয়েছে । এটি আমার সমস্যাগুলি ঠিক করে।

compile 'com.fasterxml.jackson.core:jackson-annotations:2.7.0-rc3'
compile 'com.fasterxml.jackson.core:jackson-databind:2.7.0-rc3'

আপনি কীভাবে জানবেন কোন জেআরটি সন্ধান করবেন?
সিদ্ধার্থ

1
জ্যাকসন-কোর: ২.২। + উত্তরাধিকারে পরিণত হয়েছে। সুতরাং আমাদের ডাটাবাইন্ড ব্যবহার করতে হবে: 2.7.0-আরসি 3, টিকা: 2.7.0-আরসি 3 বা এর চেয়ে সর্বশেষতম সংস্করণ। এটি 2 যথেষ্ট, জ্যাকসন-কোর এড়ান: 2.2। ততক্ষণে আমি কিছু যাচাইকারক পেয়েছি। 2.7+ সংস্করণ ব্যবহার করার সময় এটি ত্রুটিটি দেখায় না
আনন্দ ক্রিশ

0

অনুগ্রহ করে যেকোন অব্যর্থ জার ফাইলটি সরান এবং চালনার চেষ্টা করুন। এবং আমার জন্য এটির কাজ আমি একটি জোকমন্স জার ফাইল এবং আরও একটি জকমনস ১.০.১.১৪ জার ফাইল যুক্ত করেছি তাই jcommons সরান এবং এটি আমার জন্য কাজ করছে



-1

আমার ক্ষেত্রে, আমি নীচের স্ট্যাক ট্রেস দিয়ে যাচাইয়ের ত্রুটি পেয়েছি

jasperreports-server-cp-6.4.0-bin\buildomatic\build.xml:61: The following error occurred while executing this line:
TIB_js-jrs-cp_6.4.0_bin\jasperreports-server-cp-6.4.0-bin\buildomatic\bin\setup.xml:320: java.lang.VerifyError: (class: org/apache/commons/codec/binary/Base64OutputStream, method: <init> signature: (Ljava/io/OutputStream;ZI[B)V) Incompatible argument to function
    at com.jaspersoft.jasperserver.crypto.KeystoreManager.createKeystore(KeystoreManager.java:257)
    at com.jaspersoft.jasperserver.crypto.KeystoreManager.init(KeystoreManager.java:224)
    at com.jaspersoft.buildomatic.crypto.KeystoreTask.execute(KeystoreTask.java:64)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:169)
    at org.apache.tools.ant.taskdefs.ImportTask.importResource(ImportTask.java:222)
    at org.apache.tools.ant.taskdefs.ImportTask.execute(ImportTask.java:163)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:180)
    at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:93)
    at org.apache.tools.ant.Main.runBuild(Main.java:826)
    at org.apache.tools.ant.Main.startAnt(Main.java:235)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

আমি কমন্স-কোডেক-১.৩.২০ এর জন্য ক্লাসপাথ এন্ট্রি সরিয়ে এটি সমাধান করেছি, এই জারের সংস্করণটিতে একটি অমিল আছে যা জ্যাসপারের সাথে আসে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.