يتطلب ant build.xml مدخلات المستخدم ، لكن Eclipse لا يوجد لديه tty

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

  •  22-09-2019
  •  | 
  •  

سؤال

أحاول دمج Eclipse بشكل أفضل مع Build.xml. يدعو ملف إنشاء GNU إلى الجزء الأصلي من البرنامج ، ويستخدم Makefile sudo لتجميع libs في مسار النظام. لسوء الحظ ، يتطلب ذلك إدخال كلمة مرور ، ولا تقبل محطة Eclipse إدخال المستخدم. لذا فإن النتيجة من تشغيل البناء في Eclipse هي:

 [exec] sudo: no tty present and no askpass program specified
 [exec] make: *** [install] Error 1

بأي طريقة حول هذه المشكلة؟ هل يمكن رفع البناء النملة إلى الجذر بطريقة أخرى؟

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

المحلول

إعداد حساب منفصل ، على سبيل المثال النشر. تعديل /etc/sudoers لتشمل الأسماء المستعارة التي تسمح النشر لتنفيذ أمر واحد ، على سبيل المثال نشر, ، كما الجذر. يصنع النشر NOEXEC:. تخزين النشر كلمة المرور في ملف غير مرئي ، على سبيل المثال .deployconf امتلاك المستخدم فقط: على سبيل المثال 400 أو 600. تحميل كلمة المرور في ant, واستخدام كما هو مطلوب:

u003Cloadfile srcfile="${user.home}/.deployconf" property="deployconf"/>

هذا يعمل بشكل جيد معu003Csignjar/> ، لكنني لم أجربها معu003Cexec/> . قد تكون هناك حاجة لبعض الجهد لإبعاد خطوط الخطوط .deployconf.

نصائح أخرى

يمكنك إعداد ملف /etc /sudoers الخاص بك بحيث يحدد nopasswd: بالنسبة للمستخدم الذي يتم بموجبه تشغيل Eclipse ، وللأمر الذي تستخدمه لتحريك libs. باستخدام أمر Visudo ، يمكنك إضافة هذا إلى نهاية /etc /sudoers:

eclipseuser ALL = NOPASSWD: /bin/cp

كن على دراية بأن هذا يمثل خطرًا على الأمان لأن Eclipseuser سيكون لديه القدرة على الكتابة فوق أي ملف على النظام.

ربما "حل" غبي ، ولكن لماذا لا تجعل النشر خطوة منفصلة؟ اطلب من البناء جعل قطعة أثرية للتغليف: DEP ، RPM أو شيء من هذا القبيل.

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