تشغيل الملف القابل للتنفيذ في جرة مع processbuilder [مكررة

StackOverflow https://stackoverflow.com/questions/1336055

سؤال

هذا السؤال لديه بالفعل إجابة هنا:

لدي تطبيق قمت ببناءه يستخدم قابل للتنفيذ غير جافا يقوم بمكالمه عبر ProcessBuilder:

ProcessBuilder pb = new ProcessBuilder(invocation);
pb.redirectErrorStream(true);
Process proc = pb.start();
InputStream is = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);

ومع ذلك، أود أن أحزمة هذا التطبيق بدقة في ملف جرة نفسه، بدلا من مطالبة أنه يتم وضعه في نفس الدليل. هل هناك طريقة لتشغيل هذا التطبيق دون استخراجها؟

إذا كنت بحاجة إلى إسقاط ProcessBuilder، فسيكون ذلك جيدا، طالما أنه يعمل. :)

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

المحلول

كنت في الأساس أن تسأل نظام التشغيل تشغيل تطبيق داخل ملف مضغوط. أنا لست على علم بأي طريقة للقيام بذلك دون استخراجها أولا. حتى لو كان تطبيق Java، فستحتاج إلى استدعاء جاوة قابل للتنفيذ، لأنه يعرف كيفية تحليل ملف جرة وفصول الوصول والموارد داخلها.

الحل الوحيد السهل إلى حد ما يمكنني التفكير فيه هو استخراج محتويات الجرة إلى مجلد مؤقت وتشغيل البرنامج من هناك. يمكن القيام بذلك برمجيا باستخدام الفصول الدراسية java.util.zip..

نصائح أخرى

يمكنك فقط حزمة الملف القابل للتنفيذ وجرة في الرمز البريدي آخر. بهذه الطريقة، عندما يتم استخراج المستخدم، كل شيء هو المكان الذي تتوقع أن تكون عليه.

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