ইন্টেলিজজে স্কালার ক্লাস তৈরি করতে অক্ষম


122

আমি শুধু স্কেলা শিখতে শুরু করছি। আমি ইন্টেলিজিজের জন্য স্কালা প্লাগইন ইনস্টল করেছি এবং একটি নতুন স্কালা প্রকল্প তৈরি করেছি। তবে আমি যখন নতুন স্কালার ক্লাস করার জন্য এসআরসি ফোল্ডারে ডান-ক্লিক করব তখন এটি করার কোনও বিকল্প নেই। আমি কিছু অনুপস্থিত করছি?


1
আপনি স্কালা এসডিকে নির্দিষ্ট করেছেন? আপনি যদি প্রকল্পটি সঠিকভাবে সেট আপ করেন এবং এসডিকে নির্দিষ্ট করে থাকেন তবে এটি কাজ করা উচিত।
evan.oman

1
আমি একই সমস্যাটির প্রতিলিপি দেওয়ার চেষ্টা করেছি তবে আমি স্কালা ফাইলটি তৈরি করতে চাই। আমি আপনাকে আশেপাশের একটি কাজের পরামর্শ দিতে পারি: একটি নতুন প্রকল্প তৈরি করুন এবং স্কেলে এসবিটি প্রকল্পটি নির্বাচন করুন এবং তারপরে src.main এর ভিতরে একটি নতুন স্কেলা ফাইল তৈরি করুন। আমি আশা করি যা আপনাকে সাহায্য করবে বা আপনি ইন্টেলিজের সেটিংসটি পুনরায় চেষ্টা করতে পারেন।
শিব 4 নশ

@ ইভান058 এর মতোই বলেছেন, এটি এসডিকে। কিছু কারণে, IntelliJ কখনও কখনও কখনও স্বয়ংক্রিয়ভাবে স্কালা sdk বাছাই করে না। এবং যদি এটি কনফিগার করা না থাকে তবে এটি ঘটে।
নিকস

আরেকটি সম্ভাবনা হ'ল আপনি স্কালার উত্সগুলির জন্য ভুল পথটি ব্যবহার করছেন। তাদের src\main\scalaor োকা উচিত src\test\scala। আপনি যদি sbtইনস্টল করে থাকেন তবে আপনি এটিকে আপনার প্রকল্প দির এবং লঞ্চ আদেশে চালু করতে পারেন inspect scalaSourceএবং এটি আপনাকে দেখাবে যে স্কালার উত্সগুলি অবশ্যই থাকতে হবে।
হাস্পেমুলেটর

অন্যান্য উত্তর ভিতরে মন্তব্য দেখুন। প্রকল্পের কোনও স্থান এই ত্রুটির কারণ হতে পারে।
ভ্যালানসিওকোস

উত্তর:


262

আপনার প্রকল্পে ডান ক্লিক করুন, " ফ্রেমওয়ার্ক সমর্থন যুক্ত করুন " এবং স্কালা কাঠামো চয়ন করুন, তারপরে প্যাকেজগুলিতে ডান ক্লিক করে আপনি স্কেলা ক্লাস তৈরি করতে পারেন।

এর পর ডান দিকে ক্লিক src> Mark directory as> Sources Root

এই দুটোই করা আপনার সমস্যার সমাধান করা উচিত!


7
শুধুমাত্র এখন স্কেলা স্ক্রিপ্ট যোগ করতে পারেন তবে কোনও ক্লাস নেই ?! কোন ধারনা?
cs0815

7
আমার একই সমস্যা আছে এবং আমি ফ্রেমওয়ার্ক যুক্ত মেনুতে স্কালা ফ্রেমওয়ার্ক দেখতে পাই না
মাইকেল পি

1
সতর্কতার. স্কেলা ক্লাসটি প্রথম বিভাগে রয়েছে তবে স্কাল স্ক্রিপ্টও তালিকায় রয়েছে
আলেকজান্দ্রার

এছাড়াও আপনি যদি ফাইল> সেটিংসের অধীনে আপনার সঠিক প্রক্সি সেটিংস আপডেট করে থাকেন তবে এই পদক্ষেপটি কেবলমাত্র কাজ করবে।
ন্যানোসফ্ট

1
আমি স্কেলা প্লাগইন ইনস্টল করেছি, তবে স্কালা কাঠামো বিকল্পটি বাম দিকে নয়, কেবল মাভেন
acmoune

107

আমি এটি আবিষ্কার করেছি, এসসিআর> ডিরেক্টরি হিসাবে চিহ্নিত ডিরেক্টরি> সোর্স রুটে ক্লিক করুন।

এখন আবার চেষ্টা করুন।


2
গ্রেট! আপনার উত্তর এবং শীর্ষের উত্তর একত্রিত করে কৌশলটি করেছে!
hzitoun

আমি এই এবং শীর্ষ উত্তর দুটিই করতে হয়েছিল!
Jsleshem

1
এটি শীর্ষ হতে হবে।
শিকারী

22

আমি ঠিক এই সমস্যা ছিল। দেখা গেল যে ইন্টেলিজ আমার src/main/scalaফোল্ডারটিকে "উত্স" ফোল্ডার হিসাবে চিহ্নিত করে নি ।

এটি করতে: Project Structure -> Modules ->ডান ক্লিক করুন ফোল্ডার এবং Mark as "Source"(নীল)

একইভাবে src/main/testফোল্ডারটি পরীক্ষার ফোল্ডার হিসাবে চিহ্নিত করা হয়নি। এই ফোল্ডারগুলি যথাযথভাবে চিহ্নিত হওয়ার পরে আমি স্কালা ক্লাস যুক্ত করতে সক্ষম হয়েছি।


এটি সঠিক - যদিও আমি নীচে এটি কিছুটা আলাদা (এবং দ্রুত) করেছি।
ব্যবহারকারী 1761806

8

আমি যখনই নাম খালি দিয়ে একটি নতুন প্রকল্প তৈরি করেছি প্রতিবারই আমার এই সমস্যাটি ছিল। যেমন "হেল ওয়েভ"। প্রকল্পের নাম হিসাবে "হেলওয়েভ" বা অনুরূপ ব্যবহার করা ভাল মনে হয়


2
একটি নম্বর দিয়ে একটি প্রকল্পের নাম শুরু করতে আমারও এই সমস্যা হয়েছিল। নতুন নামকরণের পরে, সবকিছু ঠিকঠাক কাজ করেছে।
user3846506

শুধু আমার লবণ দানা যোগ করতে। হ্যাঁ, প্রকল্প ফোল্ডারের একটি স্থান এই আচরণ তৈরি করে।
ভিল্যান্সিকোস

1
একই সমস্যা এবং @ ব্যবহারকারী3846506 এর মন্তব্যটি আমার জন্য উত্তর ছিল, আমি নামটি ছাড়াই এই প্রকল্পটি পুনরায় তৈরি করেছি এবং প্রকল্পটি খোলার সাথে সাথে স্কেল ফোল্ডারটি ধূসর পরিবর্তে নীল ছিল।
Shurikn

7

এসআরসি স্কালা ফোল্ডারে রাইট ক্লিক করুন :)

"স্কেলা" রাইট-ক্লিকের অ্যানিমেশন


15
বর্ণিত সমস্যাটি হ'ল আপনি যা প্রদর্শন করছেন তা ঠিক। সেই মেনুতে কোনও স্কালার ক্লাস নেই। এই অ্যানিমেশনটি সহায়ক নয়
মাইকেল পি

3
অ্যানিমেশনটি দেখায় যে মেনুগুলি প্রসঙ্গ সংবেদনশীল। "স্কেলা" ফোল্ডারে ডান ক্লিক করে "স্কেলা ক্লাস" নির্বাচন করার বিকল্প প্রস্তাব করা হয়; "src" ফোল্ডারে ডান ক্লিক করলে তা হয় না।
কিথ পিনসন

তাহলে কি এই স্বাভাবিক আচরণ এবং সমস্ত টিউটোরিয়ালগুলি পুরানো?
ব্যবহারকারী 1761806

@ ব্যবহারকারী 1761806 আমি কোনও পর্যালোচনা করি নি তাই কোনও টিউটোরিয়াল পুরানো কিনা তা আমি আপনাকে বলতে পারি না। সেই বিষয়ে, আমি প্রাসঙ্গিক-সংবেদনশীল মেনুগুলি সম্পর্কে এই উত্তরটি পুরানো হয়ে দাঁড়াবে বলে আশা করি, তবে ইন্টেলিজেজ 2017.2 হিসাবে অ্যানিমেশনটি ইউআই পরিবর্তিত হলেও চিত্রিত।
কিথ পিনসন

2
অ্যানিমেশন সহায়ক নয়। আপনার কাছে অবশ্যই / স্কালার মতো ডিরেক্টরি থাকতে পারে (এবং এটিতে সোর্স রুট রয়েছে চিহ্নিত করুন) এবং এখনও নতুন স্কালা ক্লাসটি প্রদর্শিত হবে না। সঠিক উত্তরটি হ'ল @ মাঝিকো
কুমার বৈভব

5

আইডিইএ 2016.2.5 এ

একটি নতুন এসবিটি বা স্কালা প্রকল্প থেকে।

  • প্রকল্পের কাঠামো খুলুন
  • প্রকল্প ট্যাবে আপনার জেডিকে যুক্ত করুন (এসডিকে ট্যাবগুলিতেও দৃশ্যমান হওয়া উচিত)
  • গ্লোবাল লাইব্রেরিগুলির আওতায় স্কালা এসডিকে যুক্ত করুন।

দুঃখজনকভাবে আপনার বিল্ডে কেবল এটি যুক্ত করা S এসবিটি আইডিই আচরণে প্রভাব ফেলবে না।


5

IntelliJ IDE 2019.1 আলটিমেটে, এই পর্দার মতো ফ্রেম ওয়ার্ক স্কেল সক্ষম করুন:

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

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

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


সহায়তার জন্য ধন্যবাদ :) এটি আমার জন্য ইন্টিলিজ 2019
রাজীব সিং

চিত্র সহ উত্তরের জন্য ধন্যবাদ ... এটি কবজ মত কাজ!
VIKAT

5

আমার একই সমস্যা ছিল এবং আমি যা করেছি তা হ'ল প্রজেক্টে ডান ক্লিক করা ---> তারপরে ফ্রেমওয়ার্ক সমর্থন যুক্ত করুন -> বাম দিকের কোণায় গ্রোভি, কোটলিন, মাভেন এবং স্কালার একটি তালিকা ছিল -----> তালিকাটি থেকে আমি স্ক্যালাকে বেছে নিয়েছি তবে তবুও ইস্যু ছিল কারণ লিবারব্রি নির্দিষ্ট করা হয়নি ---> তৈরিতে ক্লিক করা হয়েছে এবং এটি আমাকে ২.১১.১২ ইনস্টল করার সাথে সংস্করণটি বেছে নিতে বলেছে, আমি এটি চয়ন করেছি এবং এটি ডাউনলোড শুরু করে। এটি ডাউনলোড হয়ে গেলে আমি স্কালা নির্বাচন করেছি এবং সমস্যাটি ঠিক হয়ে গেছে।


ধন্যবাদ. এটা সত্যিই আমাকে সাহায্য করেছে।
থিয়াগো মেলো

4

এসআরসি ফোল্ডারে যান এবং ডিরেক্টরি হিসাবে চিহ্নিত করুন তারপরে সোর্স রুট নামে বিকল্পটি চয়ন করুন, এটি আপনার সমস্যার সমাধান করবে।


3

যোগ libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.50"> - লক্ষ্য মধ্যে built.sbtIntelliJ আইডিয়া 2017 জন্য ফাইলটি এই কাজ


এটি ভার্সন নম্বর পরিবর্তন না করে ইন্টেলিজ আইডিইএ 2018.3 এ আমার জন্য কাজ করেছে 1.1.1
ইভান নোলস

2
  1. তৈরি করা হয়েছে নতুন গ্রেডেল প্রকল্প (জাভা)
  2. নতুন মডিউল "স্কালা" কে / এসআরসি / প্রধান / এবং "ডিরেক্টরি তৈরি করুন" উত্স হিসাবে যুক্ত করুন ...
  3. build.gradle এর মধ্যে নির্ভরতা যুক্ত করা হয়েছে:

    group 'example-scala'
    version '1.0-SNAPSHOT'
    
    apply plugin: 'java'
    apply plugin: 'scala'
    
    sourceCompatibility = 1.8
    
    repositories {
         mavenCentral()
    }
    
    dependencies {
       compile 'org.scala-lang:scala-library:2.12.6'
       testCompile 'org.scalatest:scalatest_2.11:3.0.5'
       testRuntime 'org.scala-lang.modules:scala-xml_2.11:1.0.6'
       testCompile group: 'junit', name: 'junit', version: '4.12'
    
    } 

2

আমার ক্ষেত্রে সোর্স রুট নির্বাচন করার পরে এটি আমাকে কোনও স্কাল ক্লাস বিকল্প দেখায় নি তারপরে আমি উত্পন্ন উত্স রুটটি বেছে নেব, এসআরসি> ডাইরেক্টরি হিসাবে চিহ্ন হিসাবে> উত্পন্ন উত্স রুটটি ক্লিক করুন। এটি আমার পক্ষে কাজ করেছে


1

ডিফল্টরূপে ইন্টেলিজ সময়ে নির্ভরতাগুলি গ্রহণ করে না। আপনার একটি পৃথক এসবিটি বা মাভেন প্রকল্প তৈরি করতে হবে এবং তারপরে এটি ইন্টেলিজে আমদানি করতে হবে।

আপনি যদি জাভা স্কালা মিক্সিন প্রকল্প তৈরি করতে চান তবে আপনি এই ব্লগ পোস্টটি অনুসরণ করতে পারেন । এবং তারপরে এটি ইন্টেলিজে আমদানি করুন।

বা যদি আপনি কেবল স্কেলা শিখার চেষ্টা করছেন।

আপনি এই ম্যাভেন ভিত্তিক স্কালাল স্টার্টার টেম্পলেটটি ডাউনলোড করতে এবং এটি ইন্টিলিজে আমদানি করতে পারেন এবং তারপরে এটি চালিয়ে যাওয়া চালিয়ে যেতে পারেন।

দ্রষ্টব্য: আপনাকে মডিউলের জন্য উত্সগুলি নির্দিষ্ট করতে হতে পারে

প্রকল্পের কাঠামো -> মডিউলগুলি ট্যাব


1
    You can add the scala maven plugin reference in the pom.xml as below 

 <build>
    <sourceDirectory>src/main/scala</sourceDirectory>
    <testSourceDirectory>src/test/scala</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <scalaCompatVersion>2.11</scalaCompatVersion>
                    <scalaVersion>2.11.8</scalaVersion>
                </configuration>
            </plugin>
        </plugins>
    </build>

    Once you do this and build you will be able to see the option of the scala class.

1
আপনি যখন মাভান কাঠামোয় প্রকল্পটি তৈরি করছেন তখন এটি কাজ করবে এবং এসবিটির ক্ষেত্রে আপনি বিল্ড.এসবিটি ফাইল যুক্ত করবেন
চেতন হিরাপাড়া

1
@ চিক্সপ্যাটেল হ্যাঁ এটি তখন কাজ করবে যখন আপনি কেবল মেভেন ফ্রেমওয়ার্ক দিয়ে প্রকল্প তৈরি করবেন। প্রশ্নটিতে কোনও নির্দিষ্ট কাঠামোর উল্লেখ না করায় আমি ভেবেছিলাম উত্তরটি কারও পক্ষে সহায়তা করতে পারে।
নিকুঞ্জ কাকাদিয়া

1

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


1
একটি মন্তব্য হওয়া উচিত
এক্সিকিউটেবল

1

আমার জন্য সমাধান করা নীচের পদক্ষেপগুলি অনুসরণ করে:

  • যোগ Scala । আপনার Intellij আইডিই করার প্লাগইন (প্লাগইন ফাইল নেভিগেট করে যোগ করা যেতে পারে -> সেটিংস -> প্লাগ-ইন)
  • স্কেলা প্লাগইন সক্ষম করুন
  • আইডিই পুনরায় চালু করুন

0

আপনার প্রকল্পের নামের ঠিক উপরে ড্রপ-ডাউন মেনু থেকে আপনাকে 'প্রকল্প' বিকল্পের পরিবর্তে 'প্যাকেজ' নির্বাচন করতে হবে।


0

ফোল্ডারটি উত্স ফোল্ডার (নীল ফোল্ডার প্রতীক) হিসাবে সঠিকভাবে চিহ্নিত না হওয়ার সময় আমি এই আচরণটি অনুভব করেছি। যদি এটি হয় তবে পুরো প্রকল্পটিতে ডান ক্লিক করুন এবং মডিউল সেটিংস খুলুন যেখানে আপনি তারপরে সংশ্লিষ্ট ফোল্ডারটিকে উত্স হিসাবে চিহ্নিত করতে পারেন: মডিউল সেটিংস যেখানে আপনি উত্স ফোল্ডার হিসাবে src নির্বাচন করতে পারেন


0

আমারও একই সমস্যা ছিল এবং আমি যা সমাধান করতে পেরেছি তা হ'ল src / main / scala এ ডান ক্লিক করে একটি প্যাকেজ তৈরি করা। প্যাকেজটি তৈরি হয়ে গেলে প্যাকেজে ডান ক্লিক করুন এবং আপনার স্কেলা ক্লাস বিকল্পটি সন্ধান করা উচিত।

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