لينكس لتجميع ملفات جافا متعددة
سؤال
هنا هو هيكل الدليل الخاص بي.
/مستخدم/A/المستخدم/B/المستخدم/ب
يوجد داخل المجلد a,b,c ملف person.java (وهو نفس الملف، مجرد تعديل في سطر واحد.
الآن، على صدفتي، أنا موجود في دليل /user/ الخاص بي وأحاول القيام بذلك
javac */person.java
تقوم الصدفة بإرجاع الخطأ التالي،
شخص جافا:14:فئة مكررة:شخص
هل هناك أي شيء لحل هذا؟
المحلول
أعتقد أن المشكلة هنا قد تكمن في أن javac يحاول تجميع كل شيء دفعة واحدة، مما يؤدي بطبيعة الحال إلى تعريفات فئة مكررة.
هناك طريقة بسيطة لحل هذه المشكلة
find . -name '*.java' -exec javac {} \;
يحرر:
أو لنكون أكثر دقة find . -name 'person.java' -maxdepth 2 -exec javac {} \;
نصائح أخرى
سأختار نص شل الصغير:
for f in */person.java; do
javac $file
done
يبحث السطر الأول عن كافة ملفات person.java الموجودة في دليل فرعي، بينما يقوم السطر الثاني بتجميع الملف.
لا تنتمي إلى StackOverflow