it-swarm.asia

يتم تطبيق فئة JavaLaunchHelper في مكانين

لقد قمت اليوم بترقية Intellij Idea على نظام macOS Sierra ، والآن ، عندما أقوم بتشغيل تطبيقات في وحدة التحكم ، أواجه هذا الخطأ:

objc [3648]: تم تطبيق Class JavaLaunchHelper في كل من /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/Java (0x10d19c4c0) و /Library/Java/JavaVirtualMachines/jdk1.8.0_121.k المحتويات/الصفحة الرئيسية/jre/lib/libinstrument.dylib (0x10ea194e0). وسوف تستخدم واحدا من اثنين. أي واحد غير معروف.

257
Ess

يمكنك إيجاد كافة التفاصيل هنا:

  • IDEA-170117 "objc: يتم تطبيق Class JavaLaunchHelper في كل من ..." تحذير في تشغيل وحدات التحكم

إنه الخطأ القديم في Java على Mac الذي تم تشغيله بواسطة Java Agent يتم استخدامه بواسطة IDE عند بدء تشغيل التطبيق. هذه الرسالة غير ضارة وهي آمنة للتجاهل. تعليق مطور أوراكل:

الرسالة حميدة ، لا يوجد أي تأثير سلبي من هذه المشكلة لأن نسختين من هذه الفئة متطابقة (يتم تجميعها من نفس المصدر بالضبط). إنها قضية تجميلية بحتة.

تم إصلاح المشكلة في Java 9 و تحديث Java 8 152 .

إذا كان ذلك يزعجك أو يؤثر على تطبيقاتك بأي طريقة (لا ينبغي) ، فإن الحل البديل لـ IntelliJ IDEA هو تعطيل وكيل المشغل idea_rt عن طريق إضافة idea.no.launcher=true إلى idea.properties (Help | Edit Custom Properties...). سيتم تطبيق الحل البديل على إعادة التشغيل التالية لـ IDE.

لا أوصي بتعطيل وكيل IntelliJ IDEA ، على الرغم من ذلك. يتم استخدامه لمزايا مثل إيقاف التشغيل الرشيق (زر الخروج) ، وإفراغ الخيط ، والحلول التي تمثل مشكلة مع سطر أوامر طويل جدًا يتجاوز حدود نظام التشغيل ، وما إلى ذلك. قد لا يكون فقدان هذه الميزات لمجرد إخفاء الرسالة غير المؤذية أمرًا يستحق ذلك ، ولكنه على الأرجح هذا يعود إليك.

432
CrazyCoder

نظرًا لأن "هذه الرسالة غير ضارة" (انظر إجابة CrazyCoder @ ) ، a simple و safe الحل البديل هو أنه يمكنك طي هذه الرسالة الطنانة في وحدة التحكم بواسطة IntelliJ IDEA الإعدادات:

  1. 【التفضيلات】 - 【المحرر】 - 【عام】 - sole وحدة التحكم】 - 【طي خطوط وحدة التحكم التي تحتوي على】
    بالطبع ، يمكنك استخدام "البحث عن إجراء ...】 (cmd+shift+A على نظام التشغيل mac) واكتب Fold console lines that contain حتى تتمكن من التنقل بفعالية أكبر.
  2. أضف Class JavaLaunchHelper is implemented in both

image

على جهاز الكمبيوتر الخاص بي ، اتضح: (LGTM: b)

image

ويمكنك كشف الرسالة للتحقق منها مرة أخرى:

image

PS:

اعتبارًا من أكتوبر 2017 ، تم حل هذه المشكلة الآن في jdk1.9/jdk1.8.152/jdk1.7.161
لمزيد من المعلومات ، راجع إجابة @ muttonUp )

136
oldratlee

أنا أستخدم Intellij Idea 2017 وواجهت نفس المشكلة. ما حل المشكلة بالنسبة لي هو ببساطة

  1. أغلق المشروع في intelliJ
  2. ملف -> جديد -> مشروع من الموارد الحالية
  3. استخدام الاستيراد من النموذج الخارجي (إن وجد)
  4. افتح المشروع مرة أخرى.
10
lnarasimhan

حدث هذا لي عندما قمت بتثبيت Intellij IDEA 2017 ، انتقل إلى تفضيلات القائمة -> إنشاء ، تنفيذ ، نشر -> مصحح الأخطاء وتعطيل الخيار: "Force Classic VM لـ JDK 1.3. س وأقدم ". هذا يعمل لي.

1
Danny Guo

لقد وجدت الحل البديل الآخر: لاستثناء libinstrument.dylib من مسار المشروع. للقيام بذلك ، انتقل إلى التفضيلات -> البناء والتنفيذ والنشر -> برنامج التحويل البرمجي -> باستثناء -> + وهنا أضف ملفًا بواسطة المسار في رسالة الخطأ.

0
gasabr

كانت هذه مشكلة بالنسبة لي منذ سنوات ، وقد سبق أن حددتها في Eclipse باستبعاد 1.7 من مشاريعي ، لكنها أصبحت مشكلة مرة أخرى بالنسبة لـ IntelliJ ، التي قمت بتثبيتها مؤخرًا. لقد أصلحت بواسطة:

  1. إلغاء تثبيت JDK:

    cd /Library/Java/JavaVirtualMachines
    Sudo rm -rf jdk1.8.0_45.jdk
    

    (قمت بتثبيت jdk1.8.0_45.jdk ؛ من الواضح أنه يجب عليك إزالة تثبيت أي إصدار Java مدرج في هذا المجلد. الملفات المخالفة موجودة في هذا المجلد ويجب حذفها.)

  2. تنزيل وتثبيت JDK 9 .

لاحظ أنه في المرة التالية التي تنشئ فيها مشروعًا جديدًا ، أو تفتح مشروعًا حاليًا ، ستحتاج إلى ضبط SDK للمشروع للإشارة إلى تثبيت JDK الجديد. لا يزال بإمكانك أيضًا مشاهدة هذا الخطأ أو إعادته إذا كان لديك JDK 1.7 مثبتًا في مجلد JavaVirtualMachines (وهو ما أعتقد أنه حدث لي).

0
Allison

نفس الخطأ ، أقوم بترقية Junit وحلها

org.junit.jupiter:junit-jupiter-api:5.0.0-M6

إلى

org.junit.jupiter:junit-jupiter-api:5.0.0
0
Q.Lee