java - كيف يمكنني إنشاء JAR runnable في IntelliJ كما كنت في Eclipse




intellij-idea (3)

إذا كنت تستخدم Maven فستحتاج إلى وضع دليل META-INF تحت مجلد /main/resources بدلاً من main/java .

المرجع: Intellij - نيكولاي تشاشنيكوف

ثم يمكنك تنفيذ جرة runnable عادة مع java -jar filename.jar

كانت عملي لإنشاء JAR runnable من مشروع مع العديد من المكتبات مع Eclipse.

Export> Runnable JAR> تحديد بدء التشغيل> قم بتعبئة المكتبات المطلوبة لإنشاء JAR> Finish

هذا يخلق JAR واحد في وجهة التصدير الخاصة بي التي I FTP إلى الخادم الخاص بي وتعمل بشكل جيد.

تحولت مؤخرا إلى IntelliJ لأسباب مختلفة ، وكان تحسنا في جميع الحالات باستثناء بناء بلدي JARs الذي يجبرني على العودة إلى كسوف مؤقتا.

مع IntelliJ I:

افتح بنية المشروع> المصنوعات وإنشاء JAR جديد من الوحدات النمطية مع التبعيات. ثم لدي تخطيط الإخراج الخاص بي باسم JAR و META-INF داخله وكل ما كتبته من تنسيقات مع الصيغة Extracted <lib.jar/> (آسف لا أستطيع تحميل لقطات الشاشة على VPN هذه.)

أقوم ببناء القطع الأثرية الخاصة بي (التي يبلغ حجمها حوالي 15 ميجا بايت) وبروتوكول نقل الملفات (FTP) إلى الخادم الخاص بي ، حاول تشغيله وأحصل على الخطأ:

Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

كيف يمكنني تقليد كيف أفعل ذلك في Eclipse؟

تصحيح

تختلف JARs التي تم إنشاؤها بشكل كبير:

تبدو الجرة الصالحة التي ينشئها Eclipse كما يلي:

في حين يبدو .JAR غير الصالح كالتالي:


أنت تواجه قضيتين يبدو أن أحدهما رئيسي والآخر بسيط:

  • رئيسي: استثناء التوقيع
  • الحد الأدنى: حجم الجرة أكبر بـ 15 ميغابايت من الجرة المنتجة بواسطة الكسوف.

يكمن حل كلتا القضيتين في الطريقة التي تبني بها الأداة. بادئ ذي بدء ، قم بإزالة كافة extracted *.jar ثم إضافة كل الجرة من العناصر المتاحة عموم كما هو موضح في الشكل.

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

من الأفضل الاحتفاظ بالجرار الرسمي كما هو ، ثم إضافته كاعتمادية في ملف البيان ......

يبدو أن بعض الاعتمادات موقعة وتعيد تغليف عبوات META-INF في مشروعك.


يمكنك محاولة استخدام نص برمجي. سوف يجعلك كسوف مشروع تجديف. يمكنك استخدام هذا الملف مع أي بيئة تطوير متكاملة. انها بنيت في مهمة جرة.





intellij-idea