سؤال

في Linux، يقوم JVM بتعيين دليل العمل المساوٍ للمجلد المنزلي من المستخدم.في نظام التشغيل Windows، هذا هو المجلد الذي يوجد به الجرة.كيف يمكنني العثور على مكان الجرة (من تطبيقي) يقع لتغيير دير العمل؟

مارتين

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

المحلول

حاول الحصول على المسار إلى الجرة باستخدام هذا الكود:

String path = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();

ثم يمكنك إزالة الجزء "*.jar" باستخدام:

path=path.substring(0, path.lastIndexOf('/')+1);

واجهت نفس المشكلة مع إحدى ألعاب جافا عندما كنت بحاجة إلى فتح ملف في نفس الدليل الذي كانت فيه الجرة.

النقر المزدوج على الجرة في نظام التشغيل Linux لم يفتح الملف.بالطبع يمكنك فتح سطر الأوامر وتغيير dir إلى jar dir ثم تشغيل الجرة من هناك ولكنني كنت بحاجة إلى النقر نقرًا مزدوجًا فوق الجرة.

نصائح أخرى

وفي كلتا الحالتين هو الدليل الفعلي.ضمن Windows، يتم تعيين الدليل الفعلي تلقائيًا على الدليل الأساسي للجرة، إذا قمت بتنفيذه من Explorer.في نظام التشغيل Linux، يعد الدليل الرئيسي هو الدليل الفعلي لواجهة المستخدم الرسومية الخاصة بك.لتعيين الدليل، اكتب نصًا برمجيًا قصيرًا، والذي يقوم بتعيين الدليل الفعلي (باستخدام الأمر cd) ثم تنفيذ الجرة (باستخدام javaw -jar xyz.jar).

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