JVM টার্গেট ১.6 দ্বারা নির্মিত হচ্ছে বাইকোডে জেভিএম টার্গেট ১.৮ সহ বাইটকোড ইনলাইন করতে পারবেন না


478

ইন্টেলিজের মাধ্যমে উদাহরণ কর্পডাপ ( https://github.com/corda/cordapp-example ) চালানোর চেষ্টা করার সময় , আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

JVM টার্গেট ১.6 দ্বারা নির্মিত হচ্ছে বাইকোডে জেভিএম টার্গেট ১.৮ সহ বাইটকোড ইনলাইন করতে পারবেন না

আমি কীভাবে ইন্টেলিজি সেটিংস সংশোধন করতে পারি যাতে সমস্ত বাইটকোড একই জেভিএম লক্ষ্য দিয়ে নির্মিত হয়?


5
আমি এই লাইব্রেরিটি build.gradleনির্ভরতা - (সংকলন ("org.jetbrains.kotlin: kotlin-stdlib-jdk8") এ যুক্ত করে এই সমস্যাটি সমাধান করতে পেরেছি
মুনিশ

1
পছন্দ করেছেন নীচের উত্তরটি যা বলেছে সেগুলিও আমাদের অবশ্যই করতে হবে ...
আইগরগানাপলস্কি

উত্তর:


1020

অ্যাপ্লিকেশন / build.gradle

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8.toString()
    }
}

জি এল

জাভা 8 ভাষার বৈশিষ্ট্যগুলি ব্যবহার করুন


30
এটি পরীক্ষা করা সমাধান হওয়া উচিত।
ফিল

9
এই তারিখ এবং অ্যান্ড্রয়েড স্টুডিও v3.5 হিসাবে বাকি সমস্ত চেষ্টা করার পরে এটিই একমাত্র সমাধান যা কাজ করেছিল। আশ্চর্যজনকভাবে সেটিংস> কোটলিন কম্পাইলারের মধ্যে একই মান নির্ধারণের কোনও প্রভাব নেই।
ব্যবহারকারী 3399299

51
শুধু kotlinOptions { jvmTarget = "1.8" }যথেষ্ট করা উচিত।
পিটার

2
কাজ করেছেন, এবং উত্তরটি স্ব-বর্ণনামূলক এবং সংক্ষিপ্তভাবে লেখা হয়েছে
বিকাশ পান্ডে

4
তারপরে "ক্যাশে অবৈধ এবং পুনরায় চালু করা উচিত"
বি-গ্যাংস্টেআর

213

আপনি নিম্নলিখিত হিসাবে এই সমস্যাটি সমাধান করতে পারেন:

  • ইন্টেলিজি পছন্দগুলি খুলুন
  • যাও Build, Execution, Deployment > Compiler> Kotlin Compiler কিন্তু Other Settings > Kotlin compilerযদি অ্যান্ড্রয়েড স্টুডিও>3.4
  • পরিবর্তন Target JVM versionকরার জন্য1.8
  • ক্লিক Apply

6
আমার এই সেটিংটি ইতিমধ্যে 1.8 এ স্থির হয়েছে, তবুও ব্রেকপয়েন্টগুলিতে পদক্ষেপ নেওয়ার সময় আমি এই ত্রুটিটি দেখতে পাচ্ছি। ভল্ট অনুসন্ধানগুলিতে আঘাত করার সময় আমি এটি প্রাথমিকভাবে দেখি। আরও কোন পরামর্শ? দেখে মনে হচ্ছে এই লক্ষ্য JVM বিট এটি পুরোপুরি ঠিক করে না।
আরসালান খালিদ

38
আপনার উপর প্রজেক্টের গঠন , আপনি পরিবর্তন করতে Target platformকরতে জেভিএম 1.8 আপনার এর উপর Kotlinঅধীনে দিক Generalট্যাব।
আনিউল রিভাস

7
অমীমাংসিত নির্ভরতা থাকলে এই ত্রুটিটি উপস্থিত হতে পারে !
প্রগ্রেমথ

5
আমার জন্য Kotlin Compilerসেটিংসটি প্রকৃতপক্ষে Other Settingsবিভাগে রাখা হয়েছিল ।
কিওয়ার্টিফিংগার

9
যদি প্রয়োগের পরে পুনরায় চালু করা যথেষ্ট না হয় → পুনরায় আরম্ভ করুন এবং ক্যাশে বাতিল করুন।
বারটেক লিপিনস্কি

104

আপনার বিল্ড.gradle এ নীচের মত কিছু কনফিগার করা উচিত

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

14
বা বিকল্পভাবে, গ্রেডেল কোটলিন ডিএসএল:tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> { kotlinOptions.jvmTarget = "1.8" }
ব্র্যান্ডান

kotlin-androidপ্লাগিনের সাথে এটি কীভাবে কাজ করবেন তা সম্পর্কে কোনও ধারণা ?
জিরোডাইভাইড

অনেক ঝামেলা ছাড়াই কাজ করে। আমি এটি প্রস্তাব করছি
মিচ

আমার বিল্ড.gradle এ ছিল, তবে কোনওভাবে IDEA এই সেটিংটি ওভাররোট করে। সা Saeedদ এর উত্তর আমার পক্ষে কাজ করেছিল।
নিল পিটারসোহন

আপনার অ্যাপ-স্তরের গ্রেডলের অ্যান্ড্রয়েড}} বিভাগে এটি যুক্ত করুন।
পরাগ কদম

80

আমার ক্ষেত্রে, কেবলমাত্র এটির মতো টার্গেট জেভিএম সংস্করণ পরিবর্তন করা: ফাইল> সেটিং> কোটলিন সংকলক> টার্গেট জেভিএম সংস্করণ> 1.8 সাহায্য করেনি। তবে এটি সংকলন সময় ত্রুটির সমাধান করে resolved তবে রানটাইমে ব্যর্থ হয়েছে।

এটিকে কাজ করতে আমাকে বিল্ড অ্যাড্রেডল ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করতে হয়েছিল।

 android {
     // Other code here...
     kotlinOptions {
        jvmTarget = "1.8"
     }
 }

2
একটি কবজ কাজ করে। ধন্যবাদ
ডেভ ও গ্রেডি

কাজ করে! আপনাকে ধন্যবাদ
ওয়াল্ডম্যান

55

যখন অন্য সমাধানগুলি আপনার জন্য কাজ করে না (সংকলক সেটিংসে জেভিএম সংস্করণ পরিবর্তন jvmTargetকরে আপনার মধ্যে যুক্ত করা build.gradle), কারণ আপনার .imlফাইলগুলি তাদের কনফিগারেশনগুলিকে জোর করে দেওয়ার চেষ্টা করার কারণে আপনি প্রকল্প সেটিংস থেকে লক্ষ্য প্ল্যাটফর্মটি পরিবর্তন করতে পারেন।

  • খোলা File > Project Structure
  • Facetsঅধীনে যানProject Settings
    • যদি এটি খালি থাকে তবে ছোট +বোতামটি ক্লিক করুন
  • আপনার কোটলিন মডিউল / মডিউলগুলিতে ক্লিক করুন
  • পরিবর্তন Target Platformকরার জন্য JVM 1.8(এছাড়াও এটি পরীক্ষা ভালো Use project settingsবিকল্প)

3
আমি অ্যান্ড্রয়েড স্টুডিওতে এই বা 'দিকগুলি' বিভাগটি খুঁজে পাচ্ছি না ... man আমাকে নিজেই app.iml সম্পাদনা করতে হয়েছিল। আমি সেট <configuration version="3" platform="JVM 1.8" useProjectSettings="false">করতে trueএবং এটা কাজ করে। তবে ফাইলটি বদলে যেতে থাকে!
এফেক্স

1
@ অ্যাফেক্স এটি আসলে "ফাইল"> "প্রকল্পের কাঠামোর" অধীনে তারপরে "প্রকল্প সেটিংস"> "দিকগুলি" এর অধীনে আমার কিছুই ছিল না, তাই আমি ক্লিপড "+"> "কোটলিন"> আমার প্রকল্পটি নির্বাচন করুন। এটি আমার জন্য এটি করেছে :)
নিকোলাস গিলিয়াম

এটি আমার পক্ষে কাজ করে তবে প্রতিবার আমার বিল্ড.gradle.kts ফাইলে যুক্ত করার পরে 1.6 ফিরে আসতে বাধ্য হয়।
লু মর্দা

গ্রেডল ফাইলটি থেকে এইটি কনফিগার করা এবং বাছাই করার কোনও উপায় আছে কি? আইএমএইচও এটির ভুল কনফিগার করা হচ্ছে ইন্টেলিজের একটি বাগ।
জিলিস ভ্যান গর্প

35

আমার ক্ষেত্রে এই কোডটি apply plugin: 'kotlin-android'নীচে থেকে উপরে না যাওয়া পর্যন্ত কাজ করে না to

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

কোটলিনঅ্যাপশনস {jvmTarget = "1.8"} আমার জন্য দিদি কৌশল, thx
দিদি

32

অ্যান্ড্রয়েড স্টুডিওতে ৪.৩.২ এ নীচের পদ্ধতিটি যুক্ত করে কাজ করা হচ্ছে না।

  1. ইন্টেলিজি পছন্দগুলি খুলুন
  2. যান তৈরি করুন, সম্পাদন, ডিপ্লোয়মেন্ট > কম্পাইলার > Kotlin কম্পাইলার কিন্তু অন্যান্য সেটিংস> Kotlin কম্পাইলার যদি অ্যান্ড্রয়েড স্টুডিও> 3.4
  3. টার্গেট জেভিএম সংস্করণটি 1.8 এ পরিবর্তন করুন
  4. প্রয়োগ ক্লিক করুন

কারণটি হ'ল, অ্যান্ড্রয়েড স্টুডিওগুলি মডিউল স্তরের গ্রেডল ফাইলটিতে নীচের কোডটি যুক্ত করতে অক্ষম। দয়া করে এটি ম্যানুয়ালি যুক্ত করুন।

kotlinOptions {
    jvmTarget = "1.8"
}

কেবল অ্যাডোনটির জন্য, অ্যান্ড্রয়েড স্টুডিও অনুসন্ধানে লক্ষ্য JVM সংস্করণ অনুসন্ধান করুন। এটি আপনাকে সরাসরি বিকল্পে নিয়ে যাবে। এখানে চিত্র বর্ণনা লিখুন


শুধুমাত্র ম্যানুয়ালি যুক্ত করে, এটি আমার পক্ষে কাজ করেছিল। কিছু কারণে অ্যান্ড্রয়েড স্টুডিও সত্যই বগি এবং যদি আমরা সমস্ত ক্যাশে মুছে ফেলা না করে আদর্শ পুনরায় চালু না করি তবে এটি প্রয়োগ করা পরিবর্তনগুলি বিবেচনা করে না।
করণ শর্মা

28

একটি ছবি হাজার শব্দের সমান

একটি ছবি হাজার শব্দের সমান


এছাড়াও সেটিং প্যানেলে অনুসন্ধান করা এই বিকল্পটি উপস্থিত করবে। এই জন্য ধন্যবাদ সত্যিই সহায়ক ছিল!
পলিকাপ

আমার জন্য সাহায্য
করেনি

26

ফেব্রুয়ারী 2020
অ্যান্ড্রয়েড 3.4+
ফাইল যান -> সেটিংস -> কোটলিন সংকলক -> টার্গেট জেভিএম সংস্করণ> ১.৮ এ সেট করুন এবং তারপরে ফাইল -> গ্রেড ফাইলগুলির সাথে প্রকল্প সিঙ্ক করুন

বা বিল্ড.gradle এ যোগ করুন (মডিউল: অ্যাপ্লিকেশন) মধ্যে অ্যান্ড্রয়েড ব্লক:

kotlinOptions {
           jvmTarget = "1.8"
         }

শুধু "গ্র্যাডল ফাইলগুলির সাথে সিঙ্ক প্রকল্প" আমার জন্য কাজ করে ..
আকাশ বিসারিয়ার

গ্র্যাডল ফাইলগুলির সাথে আপনার ফাইল -> সিঙ্ক প্রকল্প করতে হবে তা নিশ্চিত হয়ে গেছে, তবে এটি কাজ করে
ইরফান্দি ডি ভেন্ডি

19

যেমনটি ইউজ-মভেনে লেখা আছে কোটলিন ওয়েবসাইট থেকে ব্যবহৃত :

আপনাকে কেবল <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>আপনার pom.xML এর বৈশিষ্ট্য বিভাগে রাখতে হবে


19

আপনার যদি অনেক সোর্সেট / মডিউল থাকে তবে তাদের প্রত্যেকের জন্য আলাদাভাবে jvmTarget কনফিগার করা জটিল umbers

আপনি তাদের সবার জন্য jvmTarget একবারে একবারে কনফিগার করতে পারেন:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

এই স্নিপেটটি আপনার গ্রেড.বিল্ড ফাইলের শীর্ষ স্তরে ব্যবহার করা যেতে পারে

গ্রেড ফাইল পরিবর্তন করার পরে Reimport All Gradle Imports। এটি কাজ করে কিনা তা পরীক্ষা করতে, খুলুন Project Structureএবং যাচাই করুন যে JVM 1.8সমস্ত কোটলিন-মডিউলগুলিতে ইন্টেলিজি সঠিকভাবে অর্পণ করা হয়েছে। এটিকে ঐটির মত দেখতে হবে:

প্রকল্প কাঠামো

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


16

আমার ক্ষেত্রে, আমি এই দুটি পদক্ষেপ অনুসরণ করে এটি সমাধান করেছি

1. Go to android studio preferences -> other settings -> kotlin compiler -> set Target JVM version = 1.8 
   if it doesn't work then go to the second option.

2. In your module-level build.gradle file add 
   compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            jvmTarget = "1.8"
        }
    }

আরে উত্তরের জন্য ধন্যবাদ, আমাকে ২ য় পদক্ষেপটি করতে হয়েছিল এবং এটির কার্যকারীতা। কেন এটি প্রয়োজন তা আপনি ব্যাখ্যা করতে পারেন?
3x_voice


এই লিঙ্কটি মারা গেছে
3x_voice

12

আমার জন্য কারণটি ছিল আমার বিল্ড গ্রেডে এই কনফিগারেশনটি কিছু মডিউল এবং কিছুতে এটি নষ্ট ছিল না

android {  
...      
kotlinOptions {
        val options = this as KotlinJvmOptions
        options.jvmTarget = "1.8"
    }
...
android {

1
ধন্যবাদ, এটিই ছিল আমার জন্য একমাত্র সমাধান। আমি কেটিএস বুয়েল্ড ফাইলগুলি ব্যবহার করছি।
ক্র্যামেস

ধন্যবাদ, এটি আমার জন্য কাজ করে এমন সমাধানও। এবং অনেক ঘোষিত এইভাবে। stackoverflow.com/a/57041765/3763032 কেভিন এছাড়াও kotlin gradle ফাইল .kts মধ্যে smartcast কারণে এই বিবৃত, তা সরাসরি পাওয়া যায়
mochadwi

12

কোটলিন ভাষা ( *.gradle.ktsফাইল) সহ গ্রেডলের জন্য , এটি যুক্ত করুন:

android {
    [...]
    kotlinOptions {
        this as KotlinJvmOptions
        jvmTarget = "1.8"
    }
}

আমাদের কেন castালাই thisকরা দরকার KotlinJvmOptions। ব্লকটিতে thisরিসিভারটি কি kotlinOptionsইতিমধ্যে নেই KotlinJvmOptions? এখনও the
ালাই

1
@ 11m0, আমি মনে করি এটা এই সমস্যাটি এর সাথে সম্পর্কিত আছে: github.com/gradle/kotlin-dsl-samples/issues/1368
HDW

কোটলিনজেভিএমঅ্যাপশনগুলি পাওয়া না গেলে, "org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions" পুরো নামটি ব্যবহার করে দেখুন।
এইচডিডাব্লু

4

বেশিরভাগ ক্ষেত্রে এটি যথেষ্ট:

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

যদি আপনি integrationTestউদাহরণস্বরূপ কাস্টম গ্রেডল কার্যগুলি ঘোষণা করে থাকেন তবে এর জন্য একটি কনফিগারেশনও যুক্ত করুন compile<YourTaskName>Kotlin:

compileIntegrationTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

গ্রেড ফাইল -> সংকলন {উত্সসংশ্লিষ্টতা = 1.8 লক্ষ্যকম্প্যাবিলিটি = 1.8} কোটলিনঅ্যাপশনস {jvmTarget = "1.8" to
সংকেত প্যাটেল

মজার বিষয় হল, কেবলমাত্র আপনার সমাধানটি আমার অ-অ্যান্ড্রয়েড মডিউলটির সাথে কাজ করেছে! ধন্যবাদ!
মোহাম্মদ ওমিদ্বার

4

সেটিং sourceCompatibility = JavaVersion.VERSION_1_8desugaring সম্ভব, কিন্তু এটি বর্তমানে সব জাভা 8 বৈশিষ্ট্য Kotlin কম্পাইলার ব্যবহার desugar করতে অক্ষম।

এখানে চিত্র বর্ণনা লিখুন

স্থির করুন - kotlinOptions.jvmTarget to JavaVersion.VERSION_1_8অ্যাপ্লিকেশন মডিউলে গ্রেডল সেট করা সমস্যার সমাধান করবে।

জাভা 8 ভাষার বৈশিষ্ট্যগুলি ব্যবহার করুন: https://developer.android.com/studio/write/java8-support

android {
  ...
  // Configure only for each module that uses Java 8
  // language features (either in its source code or
  // through dependencies).
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
  // For Kotlin projects
  kotlinOptions {
    jvmTarget = "1.8"
  }
}

3

এখানে সমস্ত উত্তর গ্রেড ব্যবহার করছে তবে আমার মতো যদি কেউ এখানেই শেষ হয় এবং মেভেনের জন্য উত্তর প্রয়োজন:

    <build>
        <sourceDirectory>src/main/kotlin</sourceDirectory>
        <testSourceDirectory>src/test/kotlin</testSourceDirectory>

        <plugins>
            <plugin>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-maven-plugin</artifactId>
                <version>${kotlin.version}</version>
                <executions>
                    <execution>
                        <id>compile</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>test-compile</id>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>test-compile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <jvmTarget>11</jvmTarget>
                </configuration>
            </plugin>
        </plugins>
    </build>

কোটলিন-জেভিএম-এর জন্য জেটব্রেইন আরকি টাইপ থেকে পরিবর্তন হ'ল জেভিএমট্রেজেট <configuration></configuration>নির্দিষ্ট করা। আমার ক্ষেত্রে 11


3

আমি আমার কোটলিন প্লাগইন নির্ভরতা আপডেট না করা পর্যন্ত আমার পক্ষে কিছুই কাজ করেনি।
এটি ব্যবহার করে দেখুন:
1. অকার্যকর কাজ এবং পুনঃসূচনা করুন।
২. প্রকল্প সিঙ্ক করুন (কমপক্ষে চেষ্টা করুন)
৩. ফাইল যান -> প্রকল্পের কাঠামো -> পরামর্শ
৪. কোটলিন সম্পর্কিত কোনও আপডেট থাকলে তা আপডেট করুন।
আশা করি এটি কারও সাহায্য করবে।


সবচেয়ে সহজ ফিক্স
u84six

2

কোটলিন এক্সটেনশনের সাথে ভিজ্যুয়াল স্টুডিও কোড ** ব্যবহার করা থাকলে, প্লাগইন পরিচালনায় Crtl + Shift + x এ যান, কোটলিন টাইপ করুন এবং ম্যানেজ (ছোট্ট গিয়ার) এ ক্লিক করুন >> এক্সটেনশন সেটিংস কনফিগার করুন

কোটলিনে >> সংকলক >> জেভিএম: লক্ষ্য - জাভা সংস্করণটি টাইপ করুন। আমার পরিস্থিতিতে সবে টাইপ হয়েছে 1.8

এবং তারপরে পুনঃসূচনা করুন :-)

** ভিএসসিড বা লিনাক্সের জন্য কেবল 'কোড'


2

আমার ক্ষেত্রে ফাইল> সেটিং> কোটলিন সংকলক> টার্গেট জেভিএম সংস্করণ> 1.8


2

আমি সাধারণ জেভিএম বিকাশের জন্য কোটলিন এবং গ্রেডল ব্যবহার করছি, (অ্যান্ড্রয়েড নয়) এবং এটি আমার পক্ষে কাজ করেছে build.gradle:

allprojects {
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
        kotlinOptions.jvmTarget = JavaVersion.VERSION_11.toString()
    }
}

1

আপনি যদি কোটলিন প্লাগইনটি ডাউনলোড করেছেন তা ধরে ধরেই যদি Elpipse ব্যবহার করেন:

প্রকল্পে ডান ক্লিক করুন -> সম্পত্তি -> কোটলিন সংকলক -> প্রকল্প নির্দিষ্ট সেটিংস সক্ষম করুন -> জেভিএম লক্ষ্য সংস্করণ "1.8"


1

অ্যান্ড্রয়েড স্টুডিওর সাম্প্রতিক সংস্করণগুলির জন্য, যদি কেবল কোটলিন টার্গেট ভিএম সংস্করণ পরিবর্তন হয় তবে এটি কার্যকর হয় না।

ফাইল ➞ প্রকল্পের কাঠামো ➞ মডিউল ( app): "উত্সের সামঞ্জস্য" এবং "টার্গেটের সামঞ্জস্য" উভয়কে "1.8 (জাভা 8)" এ সেট করুন। "ওকে" টিপুন এবং গ্রেডলের সাথে প্রকল্প সিঙ্ক করুন।


1

আপনি যদি অ্যান্ড্রয়েড প্রকল্পে থাকেন

আপনার অ্যাপ্লিকেশন এর বিল্ড।

android{
//other configs...
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

1

কোটলিন গ্রেডল ডিএসএল ব্যবহার করে এটি আমার জন্য সমস্যাটি সমাধান করেছে। আমি এটি build.gradle.kts এ যুক্ত করেছি। এটি জোলের উত্তর ছাড়াও

val compileKotlin: KotlinCompile by tasks
compileKotlin.kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString()

1
আপনি যে ফাইলটি রেখেছেন সেখানে দয়া করে ভাগ করতে পারেন? এবং আপনি ব্যবহার করছেন অ্যান্ড্রয়েড প্লাগইন এবং গ্রেডেলের কোন সংস্করণ?
গাছগুলিআর সর্বত্র

0

Eclipse ব্যবহারকারীদের জন্য আরেকটি ইঙ্গিত। অন্যান্য ব্যবহারকারীদের দ্বারা চিহ্নিত jvm টার্গেট সেটিংসে ডাবল চেক করার পরে, আমার এখনও একই সমস্যা ছিল এবং এটি কোটলিন রানটাইম লাইব্রেরি হারিয়ে যাওয়ার কারণে হয়েছিল। উদাহরণস্বরূপ, স্প্রিং ইনিশিয়ালাইজার দিয়ে কোনও প্রকল্প তৈরি করার সময় এটি স্বয়ংক্রিয়ভাবে যুক্ত হয় না। এটি যুক্ত করার জন্য:right click on your project -> Build path -> Add libraries... -> User Library এবং কেবল যুক্ত করুনorg.jetbrains.kotlin.core.KOTLIN_CONTAINER

আপনি আপনার গ্রেড প্রকল্পটি পরে রিফ্রেশ নিশ্চিত করুন ( right click -> Gradle -> Refresh gradle project)


0

যদি আপনি এই বার্তাটি একটি স্প্রিং বুট / কোটলিন প্রকল্পের মুখোমুখি হন তবে স্রেফ আপনার pom.xML এ "" "" "" কোডলন.কম.পাইল.আরভিএমটার্জেট "" 1.8 "এ বৈশিষ্ট্যটি সেট করুন।

    <properties>
        <kotlin.version>1.3.70</kotlin.version>
        <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
    </properties>
    ...

0

আমার ক্ষেত্রে, jvmTarget ইতিমধ্যে build.gradleনীচে হিসাবে ফাইলে সেট করা ছিল ।

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

তবে আমার বিষয়টি এখনও ছিল was শেষ অবধি, পছন্দসমূহ> অন্যান্য সেটিংস> কোটলিন সংকলক> টার্গেট জেভিএম সংস্করণে টার্গেট জেভিএম সংস্করণটি 1.6 থেকে 1.8 থেকে পরিবর্তন করার পরে সমাধান হয়ে যায়। সংযুক্ত ছবি দেখুন,

এখানে চিত্র বর্ণনা লিখুন

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