ত্রুটি: জাভা: জাভ্যাকটাস্ক: উত্স রিলিজ 8 এর জন্য লক্ষ্য প্রকাশের 1.8 প্রয়োজন


889

ইন্টেলিজ আইডিই ব্যবহার করে কোনও প্রকল্প সংকলন করতে পারে না। নীচে সেটিংসের স্ক্রিনশট:

ব্যবহৃত জেডিকে:

http://gyazo.com/b6e32119af7b04090d890cad04db6373

প্রকল্প এসডিকে এবং ভাষা স্তর:

http://gyazo.com/55a5fc9f7f2bb721a04780ce9d74eeab

ভাষা স্তর:

http://gyazo.com/143bffad63fd89cafc231298729df2fc

কারও কোন ধারণা আছে?


1
এটি "খাঁটি ইন্টেলিজ" থেকে ত্রুটির মতো দেখায় না; আপনি কি পিপড়া বিল্ডস্ক্রিপ্ট বা কিছু ব্যবহার করছেন না?
fge


উত্তর:


1911
  1. ফাইল> সেটিংস> বিল্ড, এক্সিকিউশন, স্থাপনা> সংকলক> জাভা সংকলক
  2. পরিবর্তন লক্ষ্য সংস্করণের বাইটকোড করার 1.8 মডিউল যে আপনার জন্য কাজ করছে।

আপনি যদি মাভেন ব্যবহার করছেন

pom.xmlশীর্ষ স্তরের projectনোডের অধীনে সংকলক প্লাগইন যুক্ত করুন :

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

(মন্তব্য থেকে উত্তোলন।)

দ্রষ্টব্য: আপনি যদি আপনার প্রকল্পটি পুনরায় বিকাশ করতে আপত্তি করেন না, তবে কেবলমাত্র আপনাকে যা করতে হবে তা হ'ল পম পরিবর্তন এবং প্রকল্পটি পুনরায় প্রতিস্থাপন করা, তবে ইন্টেলিজ সঠিক সেটিংস বেছে নেবে এবং আপনাকে সেগুলি ম্যানুয়ালি পরিবর্তন করতে হবে না।


IntelliJ 14 Ultimate এ কাজ করে।
DtechNet

পুরানো আইডিইএ সংস্করণগুলিতে, চেষ্টা করুন: সেটিংস -> সংকলক -> জাভা
সংকলক

88
আপনি যদি কোনও ম্যাকে থাকেন তবে এটি ইন্টেলিজ আইডিইএ> পছন্দসমূহ ... এর অধীনে, বিল্ড, এক্সিকিউশন, মোতায়েন> জাভা সংকলক
জেপি আর্মস্ট্রং

4
Intellij নতুন চেয়ে 2016,2, সেখানে যাচাই করুন আরো একটি স্থান আছে: Project Structure -> Project Settings -> Modules -> Denpendencies -> Module SDK
ব্রুস সান

1
যখন আপনার দু'রও বেশি স্তরের সাথে একটি POM শ্রেণিবিন্যাস থাকে এবং আপনার সংকলক প্লাগইনটি প্যারেন্ট পিওমে সংজ্ঞায়িত করা হয়, তখন ইন্টেলিজি এটি গভীর স্তরে স্বীকৃতি দিতে পারে না। আমি বলছি নাও হতে পারে, কারণ অন্য কিছু মডিউলগুলির জন্য এটি করা হয়, এমনকি যখন তারা একই প্যারেন্ট পিওএম বাড়িয়ে দেয়।
Dormouse

202

আপনাকে সেটিংসে যেতে হবে এবং নীচের জাভা সংকলকটির অধীনে সেট করতে হবে: এখানে চিত্র বর্ণনা লিখুন

প্রকল্পের সেটিংসও পরীক্ষা করে দেখুন


116

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

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<!-- ... -->

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

<!-- ... -->

</project>

10
নিজেকে মত অন্যান্য ম্যাভেন newbies জন্য, এই অধীনে হওয়া উচিত project, buildএবং তারপর plugins
ড্যারেন হেল

4
এছাড়াও <source>1.8</source>এবং <target>1.8</target>যদি কনফিগার করা থাকে তবে উপরের ত্রুটিটি ঘটতে পারে।
বুজজেড-ডিইই

1
এটি আমার জন্য কাজ করেছে, আপনাকে ধন্যবাদ! সংস্করণ ট্যাগটি সমাধান হয়নি (আমি আমার মেভেনের সংস্করণটির সাথে মেলে এটি পরিবর্তন করেছি) তাই আমি এটিকে মন্তব্য করেছিলাম। আমি বিশ্বাস করি যে এই থ্রেডের উপর ভিত্তি করে মাভেনের স্বয়ংক্রিয়ভাবে সেই ক্ষেত্রে সঠিক সাম্প্রতিকতম সংস্করণটি পাওয়া উচিত: স্ট্যাকওভারফ্লো / প্রশ্ন / 17239394/…
বরিস

84

আমি খুঁজে পেয়েছি দ্রুততম উপায়:

  • প্রেস: CTRL+ + SHIFT+ + A(Mac + + SHIFT+ + A)
  • টাইপ করুন: java compiler
  • প্রেস: ENTER

সেটিংস উইন্ডোতে, লক্ষ্য বাইকোডটি 1.8 এ সেট করুন

(বা জাভা 9 এর জন্য 9 )


3
এটি একেবারে আমার জন্য কাজ করেছে (ধন্যবাদ!) তবে আমি কেন বুঝতে পারছি না কেন এটি pom.xML, মডিউল সেটিংস ইত্যাদির চেয়ে আলাদা ...
অ্যাডাম লেহেনবাউর

1
অগ্রাধিকার পেতে ⌘ টিপুন।
এক্স ওয়াং

31

এই সমস্যাটি সমাধান করার দুটি উপায় রয়েছে:

  1. সেটিংস সেট করুন (File -> Settings -> Build, Execution, Deployment -> Java Compiler): এখানে চিত্র বর্ণনা লিখুন
  2. আপনার একটি বিল্ড বিভাগ যুক্ত করুন pom.xml: এখানে চিত্র বর্ণনা লিখুন

18

মাভেন সম্পর্কিত অনেক উত্তর সঠিক তবে আপনাকে সরাসরি প্লাগইনটি কনফিগার করতে হবে না।

অ্যাপাচি মাভেন কম্পাইলার প্লাগইনের উইকি পৃষ্ঠায় বর্ণিত মত আপনি প্লাগইন দ্বারা ব্যবহৃত 2 টি বৈশিষ্ট্য সেট করতে পারেন।

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

1
@ মারভিন রিক্টর আমি আপনার সমাধানটি চেষ্টা করেছি কিন্তু এটি ইন্টেলিজের সাথে কাজ করে না - আমার ধারণা এটি খাঁটি মাভেন বিল্ড (কমান্ড-লাইন) এ সঠিক, তবে ইন্টেলিজ কেবল এই বৈশিষ্ট্যগুলি উপেক্ষা করে। অন্যান্য সমাধানে উল্লিখিত হিসাবে আমাকে প্লাগইনটি কনফিগার করতে হয়েছিল।
বেনোইট

1
না আমি করিনি, কারণ অন্যান্য সমাধানগুলি কাজ করেছিল। এবং এখন আমি আমার প্রকল্পটি গ্রেডে স্থানান্তরিত করেছি।
বেনোইট

4
Pom.xML -> মাভেন -> রিম্পোর্টে রাইট ক্লিক করার পরে মোহনগুলির মতো কাজ করে। এটি ম্যাভেন ব্যবহারকারীদের জন্য গ্রহণযোগ্য উত্তর হওয়া উচিত।
ptkvsk

org.apache.maven.plugins:maven-compiler-pluginআপনার পম বা গ্রেডল ফাইলটিতে আপনার আসলে প্লাগইন দরকার , ডকুমেন্টেশনে কী বলতে চাইছেন যে পম বৈশিষ্ট্যে সেট করা সম্পত্তি যথেষ্ট হবে, মূলত কারণ তারা প্লাগইনের ডিফল্ট মান নির্ধারণ করে, যেমন <সোর্স> $ { maven.compiler.source} </ উৎস>
EliuX

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। ম্যাক ও 10.13.5
ইন্টেলিজজে

13

আমি প্রকল্পের কাঠামো -> মডিউলগুলিতে গিয়ে এইটিকে সংশোধন করেছি , প্রশ্নযুক্ত মডিউলটি আবিষ্কার করেছি, নির্ভরতা ট্যাবে ক্লিক করুন , এতে পরিবর্তন Module SDKকরুন Project SDK


9

আমি কেবল লক্ষ্য সংকলন সংস্করণটি 1.8 এ পরিবর্তন করে এটি ঠিক করেছি। এটা এর:

ফাইল >> সেটিংস >> বিল্ড, এক্সিকিউশন, স্থাপনা >> সংকলক >> জাভা সংকলক


1
ধন্যবাদ, বিশাল আমাদের ইনজেলিজ আইডিয়া সহ প্রজেক্ট বাইটকোড সংস্করণ বা কমপক্ষে মডিউল বাইটকোড সংস্করণ নির্দিষ্ট করতে হবে। মাভেন-কম্পাইলার-প্লাগইনটির জন্য কেবল এটি pom.xML এ সেট করা আমার সমস্যার সমাধান করেনি।
ওয়েবকোমর


5

আমার ক্ষেত্রে আমি প্রকল্পের .iml ফাইলটি খুলতে (এটি প্রকল্পের মূল ফোল্ডারে অবস্থিত এবং প্রকল্পের নামের সাথে একই নাম রয়েছে) এবং লাইনটি এতে পরিবর্তন <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />করে সমাধান করেছি<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />

আমি এখানে অন্যদের উত্তর হিসাবে সবকিছু কনফিগার করেছি কিন্তু কোনও কারণে আইডিয়াটি .iml ফাইলটি ভুলভাবে আপডেট করেছে।


2
কখনও কখনও মনে হয় ইন্টেলিজ সমস্ত মেনু কনফিগার করেও কনফিগার ফাইল আপডেট করে না। ক্যাশে অবৈধ করুন এবং পুনরায় চালু করুন (কনফিগার ফাইলগুলি সম্পাদনার পরে), আমার জন্য কৌশলটি করেছে। স্ট্রেঞ্জ।
jah

1
অনেক ধন্যবাদ. অবশেষে উপরে উল্লিখিত প্রতিটি সমাধান সমাধান করার চেষ্টা করে ব্যর্থ হওয়ার পরে, এটি কাজ করেছিল।
নিতিন বানসাল

4

আমি আমার POM ফাইলটি পরিবর্তন করে এটি ঠিক করেছি fixed সর্বাধিক ভোট দেওয়া উত্তরের নিচে সর্বশেষ মন্তব্যটি লক্ষ্য করুন।

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
</plugin>

উত্স অবশ্যই লক্ষ্য মেলে।


4

আমি কেবল মাভেন বোতামটি আবার আমদানি করব, তারপরে ত্রুটিটি অদৃশ্য হয়ে গেল।

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


ধন্যবাদ। সেই ইঙ্গিতটি এটি করেছে
Veilchen4ever

3

আপনি যদি অ্যান্ড্রয়েড-স্টুডিও ১.৩ নিয়ে কাজ করছেন তবে নীচের পদক্ষেপগুলি অনুসরণ করুন -

ফাইল - প্রকল্পের কাঠামোতে যান

মডিউলগুলির অধীনে - অ্যাপ - বৈশিষ্ট্যগুলি ট্যাব, উত্স সামঞ্জস্যতা - 1.8 এবং চয়ন করুন choose

লক্ষ্য সামঞ্জস্যতা - 1.8

এবং আপনি যেতে ভাল।


3

আপনার গ্রেডল অ্যাপ স্তরের ফাইলটিতে >> সংকলনগুলি এই দুটি লাইন যুক্ত করে

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

ধন্যবাদ মানুষ. আপনার উত্তরটি কাজ করেছে
সমাধান স্পিরিট

1

কম্পাইলারএক্সএমএল ফাইলের আওতায় আপনি পাবেন:

<bytecodeTargetLevel>
  <module name="your_project_name_main" target="1.8" />
  <module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>

এবং আপনি আমার জন্য লক্ষ্যটি মানটি পুরানো থেকে নতুনতে পরিবর্তন করতে পারেন আমার এটি 1.5 থেকে 1.8 এ পরিবর্তন করা দরকার


1

আমি ঠিক একই সমস্যার সাথে লড়াই করে কিছুটা সময় কাটিয়েছি। আমার পক্ষে একমাত্র যে জিনিসটি কাজ করেছিল তা হ'ল বিল্ট এমভিএন (৩.৩.৯) ব্যবহার না করে এটি বাহ্যিক ডাউনলোড সংস্করণে (৩.০.০) দেখানো। শেষ পর্যন্ত প্রকল্পটি খোলা এবং সবকিছুই ভাল ছিল।


1

যদি আপনার মডিউলটি টিকা প্রসেসরের সাথে কনফিগার করা থাকে এবং অন্যান্য মডিউলটি না থাকে তবে এই সমস্যাটি দেখা দেয় mod সমস্ত মডিউলগুলির জন্য একই কনফিগারেশনটি চক্রীয় নির্ভরতা হিসাবে সেট হবে et


0

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

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

সহায়তা -> এক্সপ্লোরারটিতে লগ ইন দেখান -> লগ ফাইলটি ক্লিক করার পরে সমস্যাটি সম্পর্কে জানতে পেরেছি, যখন কনসোলে কেবল শিরোনাম এবং "java.lang.NullPointerException" শিরোনামে ত্রুটি পেয়েছিল।


0

সমস্যার সমাধান খুব সহজ .আপনি .idea / compiler.xml খুলতে হবে আপনার Projectডিয়া প্রকল্পে ফাইল এবং

আপনার উপযুক্ত টার্গেট সংস্করণ লেখা উচিত


0

সঙ্গে Intellij ব্যবহার ম্যাভেন , আপনি চেক করতে হবে যে Intellij আপনার প্রকল্পের স্বয়ংক্রিয় আমদানিকৃত হয়েছে। আপনি আপনার সম্পাদকের ডানদিকে মাভেন ট্যাবে ক্লিক করে চেক করতে পারেন।

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

যদি আপনার প্রকল্পটি এখানে না থাকে তবে ক্লিক করে pom.xmlফাইলটি যুক্ত করুন +

স্পষ্টতই, প্রকল্পটির অবশ্যই প্রাসঙ্গিক থাকতে হবে <build/>:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>

0

অন্য কোনও উত্তর যদি কাজ না করে তবে আপনার মডিউল এসডিকে চেক করুন

প্রজেক্ট এসডিকে ১.৮, জাভাক সংকলকটি 1.8-তে আপডেট করার পরে আমার জন্য এই ত্রুটিটি পপ আপ হয়েছিল আমার জন্য সমস্যাটি ছিল সেটিংস "মডিউল এসডিকে" SD

(লিনাক্সে) File > Project Structure...যে উইন্ডোটি খোলে তার Modulesনীচে নির্বাচন করুন Project Settings। তালিকা থেকে প্রশ্নটিতে মডিউলটি এবং তারপরে Dependenciesট্যাবটি নির্বাচন করুন এবং তা Module SDKযথাযথভাবে সেট করা আছে তা নিশ্চিত করুন ।


0

আমি উপরের সমস্তটি যাচাই করেছি কিন্তু ত্রুটিটি এখনও ঘটে।

তবে আমার ক্ষেত্রে সমস্ত মেভেন প্রজেক্টগুলি (ম্যাভেন প্রজেক্টস প্যানেলের অভ্যন্তরে পুনরায় লোড বোতাম) রিম্পোর্ট করুন।


0

আপনার মডিউলটির জন্য নির্ভরতা নির্ধারণ করতে ভুলবেন না: এখানে চিত্র বর্ণনা লিখুন

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