سؤال

بيئة: تشغيل 2.3.0/سكالا 2.11.1/IntelliJ 13.1

لقد استخدمت Typesafe Activator 1.2.1 لإنشاء مشروع جديد باستخدام Scala 2.11.1.بعد إنشاء المشروع، ركضت gen-idea.فشل مشروع IDEA الذي تم إنشاؤه في التجميع بسبب الخطأ:

Error: scala: No 'scala-library*.jar' in Scala compiler library in test

أفعل شيئا خاطئا؟الحل البديل؟

enter image description here

هل كانت مفيدة؟

المحلول

منذ IDEA 13، يجب عليك استخدام دعم SBT المرفق مع البرنامج الإضافي Scala.

باستخدامه ليست هناك حاجة لإضافة مكونات SBT الإضافية لجهات خارجية وتشغيل أوامر خاصة؛ما عليك سوى استيراد المشروع باستخدام عنصر القائمة "ملف -> استيراد المشروع..."، وسيقوم تلقائيًا بتحميل بنية مشروع SBT وتبعياته.

نصائح أخرى

  1. افتح الملف -> هياكل المشروع -> المكتبات، وقم بإزالة أي أدوات Scala sdk فيه، على سبيل المثال.scala-sdk-2.11.8 في الصورة التالية.enter image description here

  2. انقر على +، ثم Scala SDK.enter image description here

  3. حدد Scala SDK الصحيح من القائمة، بالنسبة لي، إنه Ivy-Scala-2.11.8 الموضح في الصورة.enter image description here

  4. حدد المشروع الحالي (مشروعي هو spark-test)، انقر فوق موافق.enter image description here

  5. ثم انقر فوق موافق لإغلاقه.enter image description here

  6. قم بتشغيله مرة أخرى، يجب أن يعمل الآن.

واجهت نفس المشكلة مع ملفات .idea التي تم إنشاؤها بواسطة فكرة ./activator مع التشغيل 2.3.الحل السريع هو البحث في "هيكل المشروع->الوحدات النمطية" ولاحظ اسم مكتبة المترجم.بالنسبة لي كان "SBT:سكالا2.11.1".ابحث في "هيكل المشروع->المكتبات" وتحقق من محتويات هذه المكتبة.يجب أن يحتوي على scala-compiler.jar، scala-library.jar، scala-reflect.jar.إذا لم تكن هذه المكتبات موجودة، فأضفها (في حالتي فهي موجودة في ~/.sbt/boot/scala-2.11.1/lib).

بالنسبة لـ IDEA 15 والمشروع الذي تم تصديره من Activator 1.3.5، لم يساعد سوى حل Russell في الوقت الحالي.لقد قمت بإصلاح مكتبة مترجم scala مع إضافة 3 مكتبات موجودة في ~/.sbt/boot/scala-2.11.1/lib إلى مسار فئة وفئات المترجم بالمكتبة.بعد فهرسة المشروع قمت بنقل هذه المكتبة إلى مكتبات IDEA العالمية وتم حفظها هناك.

كان لي نفس القضية.

إذا كنت تقوم ببناء مشروعك باستخدام الخارجية sbt أي sbt compile بعد ذلك سيتم إنشاء أو إضافة تبعيات في المكتبات (جميع التبعيات الخارجية أيضًا) وستتم إضافة scala sdk كـ SBT:scala* بناءً على إصدار سكالا الخاص بك.حتى تتمكن من إزالة SDK مع SBT كبادئة وإضافة SDK مناسب من خلال Intellij.

File->Project Structure->Libraries

قم بإزالة SBT SDK وأضفه يدويًا.

بالنسبة لي مع IDEA 12، قمت بإصلاح هذه المشكلة عندما قمت بإلغاء تحديد مربع "استخدام الإصدار الخارجي" في الإعدادات.المترجم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top