تنفيذ مع النمل يعمل مع المسار المطلق ولكن ليس المسار النسبي

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

سؤال

لدي مقتطفات التالية في البرنامج النصي الخاص بي. ينفذ غرامة فقط:

<exec executable="C:\test\foo\programName.exe" />

ولكن بعد ذلك عندما أحاول تنفيذه عن طريق تعيين الدليل، مثل ذلك:

<exec executable="programName.exe"
  dir="C:\test\foo\" />

انا حصلت:

فشل Execute: java.io.ioException: لا يمكن تشغيل البرنامج "programname.exe" (في الدليل "C: Test Foo"): CreateProcess خطأ = 2، لا يمكن للنظام العثور على الملف المحدد

الرجاء المساعدة! لماذا لا يعمل عندما يتم تحديد الدليل بشكل منفصل؟

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

المحلول 2

انتهى بي الأمر التمسك بهذا:

<exec executable="${basedir}\myexefile.exe}" />

نصائح أخرى

أضف ال حل ينسب:

<exec executable="programName.exe" 
  resolveexecutable="true"
  dir="C:\test\foo\" />

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

جرب هذا:

<property name="prog.dir" value="C:/test/foo" />
<exec executable="${prog.dir}/programName.exe"/>

يبدو أن الدليل الذي تنفذ فيه البرنامج يجب أن يكون في مسار البناء الخاص بك.

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