عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

AJC - عبر الإنترنت في السحابة

قم بتشغيل ajc في موفر الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر ajc الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


ajc — مترجم ونسيج بايت كود للغات AspectJ وJava

موجز


اج [مزيد من الخيارات] [ملف... | @ملف... | -argfile ملف... ]

الوصف


اج يجمع الأمر وينسج ملفات AspectJ وJava وملفات .class، وينتج عنها
ملفات .class متوافقة مع أي Java VM (1.1 أو أحدث). فهو يجمع بين التجميع و
نسج البايت كود ويدعم البنيات التزايدية؛ يمكنك أيضًا نسج الرمز الثانوي في وقت التشغيل
استخدام "" >.

تحدد الوسائط بعد الخيارات الملف (الملفات) المصدر المراد تجميعها. لتحديد المصدر
الطبقات، واستخدام -inpath (أقل). قد يتم إدراج الملفات مباشرة في سطر الأوامر أو في ملف
ملف. ال -argfile ملف و @ملف الأشكال متكافئة، ويتم تفسيرها على أنها معنى
جميع الوسائط المدرجة في الملف المحدد.

ملحوظة: يجب عليك تمرير صراحة اج جميع المصادر اللازمة. تأكد من تضمين المصدر
ليس فقط للجوانب أو النقاط ولكن أيضًا لأي أنواع متأثرة. تحديد الكل
تعد المصادر ضرورية لأنه، على عكس javac، لا يبحث AJC في مسار المصدر عنه
الطبقات. (للاطلاع على مناقشة حول الأنواع المتأثرة التي قد تكون مطلوبة، راجع أسبكت
برمجة وتطوير يرشد، تطبيق الزائدة الدودية ../progguide/implementation.html) .

لتحديد المصادر، يمكنك إدراج الملفات المصدر كوسائط أو استخدام الخيارات -جذور المصدر
or -inpath. إذا كان هناك مصادر متعددة لأي نوع، تكون النتيجة غير محددة منذ ajc
ليس لديه طريقة لتحديد المصدر الصحيح. (يحدث هذا غالبًا عندما يقوم المستخدمون
تضمين دليل الوجهة في المسار الداخلي وإعادة البناء.)

مزيد من الخيارات
-injars JarList
مهمل: منذ الإصدار 1.2، استخدم -inpath، والذي يأخذ أيضًا الأدلة.

-inpath مسار
اقبل أي ملفات .class في الإخراج كرمز ثانوي مصدر، وسوف تتضمن هذه الملفات
الطبقات، ربما كما المنسوجة مع أي جوانب قابلة للتطبيق. المسار واحد
وسيطة تحتوي على قائمة مسارات الملفات أو الدلائل المضغوطة، محددة بـ
محدد المسار الخاص بالمنصة.

- مسار الجانب مسار
قم بنسج الجوانب الثنائية من ملفات وأدلة الجرة في المسار إلى جميع المصادر.
يجب أن يتم إخراج الجوانب بواسطة نفس إصدار المترجم. متى
عند تشغيل فئات الإخراج، يجب أن يحتوي مسار التشغيل على كافة جوانب المسار
إدخالات. المسار، مثل classpath، هو وسيطة واحدة تحتوي على قائمة من المسارات
إلى ملفات jar، المحددة بواسطة محدد مسار الفئة الخاص بالنظام الأساسي.

-argfile قم بتقديم
يحتوي الملف على قائمة من الوسائط مفصولة بأسطر. كل سطر في الملف
يجب أن يحتوي على خيار واحد أو اسم ملف أو سلسلة وسيطة (على سبيل المثال، مسار فئة أو
في المسار). يتم إدراج الوسائط المقروءة من الملف في قائمة الوسائط الخاصة بـ
الامر. يتم حساب المسارات النسبية في الملف من الدليل
يحتوي على الملف (وليس دليل العمل الحالي). التعليقات، كما هو الحال في جافا،
أبدا ب // وتمتد إلى نهاية السطر. الخيارات المحددة في الوسيطة
قد تتجاوز الملفات قيم الخيارات الموجودة بدلاً من توسيعها، لذا تجنب ذلك
تحديد خيارات مثل - كلاسباث في ملفات الوسيطة على عكس
ملف الوسيطة هو مواصفات البناء الوحيدة. الاستمارة @ملف بالضبط مثل
تحديد -argfile ملف.

-خارج جرة
ضع فئات الإخراج في ملف مضغوطput.jar.

-outxml قم بإنشاء ملف aop.xml لنسيج وقت التحميل بالاسم الافتراضي.

-outxmlfile custom/aop.xml
قم بإنشاء ملف aop.xml لنسج وقت التحميل باسم مخصص.

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

-جذور المصدر DirPaths
ابحث عن جميع ملفات المصدر .java أو .aj وقم بإنشائها ضمن أي دليل مدرج في هذا الدليل
DirPaths. DirPaths، مثل classpath، عبارة عن وسيطة واحدة تحتوي على قائمة
المسارات إلى الدلائل، محددة بواسطة محدد مسار الفئة الخاص بالنظام الأساسي.
مطلوب من قبل -تزايدي.

-المراجع المتقاطعة
قم بإنشاء ملف بناء .ajsym في دليل الإخراج. تستخدم للعرض
المراجع الشاملة بواسطة أدوات مثل متصفح AspectJ.

-emacssym إنشاء ملفات رموز .ajesym لدعم emacs (مهمل).

-Xlint مثل -Xlint: تحذير (ممكّن افتراضيًا)

-إكسلينت: {المستوى}
قم بتعيين المستوى الافتراضي للرسائل المتعلقة بأخطاء البرمجة المحتملة في
رمز التقاطع. قد يكون {level} تجاهلًا أو تحذيرًا أو خطأ. هذا يتجاوز
الإدخالات في org/aspectj/weaver/XlintDefault.properties من Sidejtools.jar، ولكن
لا يتجاوز المستويات التي تم تعيينها باستخدام خيار -Xlintfile.

-Xlintfile ملف الملكية
حدد ملف الخصائص لتعيين مستويات لرسائل متقاطعة محددة.
PropertyFile هو مسار إلى ملف Java.properties الذي يأخذ نفس الخاصية
الأسماء والقيم مثل org/aspectj/weaver/XlintDefault.properties من
Aspectjtools.jar، والذي يتجاوزه أيضًا.

-مساعدة في إرسال معلومات حول خيارات المترجم واستخدامه

-الإصدار يصدر إصدار برنامج التحويل البرمجي AspectJ

- كلاسباث مسار
حدد مكان العثور على ملفات فئة المستخدم. المسار هو وسيطة واحدة تحتوي على أ
قائمة المسارات إلى الملفات أو الدلائل المضغوطة، محددة بالنظام الأساسي
محدد المسار.

-bootclasspath مسار
تجاوز موقع مسار التمهيد الخاص بـ VM لأغراض تقييم الأنواع متى
تجميع. المسار هو وسيطة واحدة تحتوي على قائمة المسارات إلى الملفات المضغوطة أو
الدلائل، المحددة بواسطة محدد المسار الخاص بالنظام الأساسي.

- نصوص مسار
تجاوز موقع أدلة ملحق VM لأغراض تقييم الأنواع
عند التجميع. المسار هو وسيطة واحدة تحتوي على قائمة المسارات إلى
الدلائل، المحددة بواسطة محدد المسار الخاص بالنظام الأساسي.

-d دليل
حدد مكان وضع ملفات .class التي تم إنشاؤها. إذا لم يتم تحديدها، دليل
الإعدادات الافتراضية لدير العمل الحالي.

-استهداف [1.1 إلى 1.5]
تحديد الإعداد المستهدف لملف الفئة (1.1 إلى 1.5، الافتراضي هو 1.2)

-1.3 قم بتعيين مستوى الامتثال إلى 1.3 وهذا يعني ضمناً -source 1.3 و-target 1.1.

-1.4 اضبط مستوى الامتثال على 1.4 (افتراضي) وهذا يعني ضمناً -source 1.4 و-target 1.2.

-1.5 ضبط مستوى الامتثال على 1.5. وهذا يعني -المصدر 1.5 و-الهدف 1.5.

-source [1.3 | 1.4 | 1.5]
تبديل التأكيدات (1.3، 1.4، أو 1.5 - الافتراضي هو 1.4). عند استخدام -source 1.3،
ستؤدي عبارة تأكيد () الصالحة ضمن Java 1.4 إلى حدوث خطأ في برنامج التحويل البرمجي.
عند استخدام -source 1.4، تعامل مع يجزم ككلمة رئيسية وتنفيذ التأكيدات
وفقا لمواصفات اللغة 1.4. عند استخدام -source 1.5، لغة Java 5
الميزات مسموح بها.

-nowarn لا تصدر أي تحذيرات (أي ما يعادل '-warn:none') وهذا لا يمنع الرسائل
ولدت من قبل أعلن تحذير or إكسلينت.

- تحذير: العناصر
قم بإصدار تحذيرات لأي مثيلات لقائمة التعليمات البرمجية المشكوك فيها بفواصل
(على سبيل المثال '-warn:unusedLocals,deprecation'):

طريقة اسم المنشئ مع اسم المنشئ
تحاول packageDefaultMethod تجاوز طريقة الحزمة الافتراضية
استخدام الإهمال للنوع أو العضو المهمل
MaskedCatchBlocks كتلة الصيد المخفية
المتغير المحلي unusedLocals لا يقرأ أبدًا
لم تتم قراءة وسيطة الأسلوب unusedArguments مطلقًا
بيان الاستيراد unusedImports غير مستخدم بواسطة التعليمات البرمجية الموجودة في الملف
لا شيء يمنع كافة تحذيرات المترجم

-تحذير: لا شيء لا يمنع الرسائل التي تم إنشاؤها بواسطة أعلن تحذير or إكسلينت.

- الإهانة
نفس -warn:deprecation

-noImportError
لا تصدر أي أخطاء للواردات التي لم يتم حلها

-واصلوا_الخطأ
استمر في التجميع بعد الخطأ، وقم بإلقاء ملفات الفصل الدراسي بأساليب المشكلة

-g: [خطوط ، فارز ، مصدر]
مستوى سمات التصحيح، والذي قد يتخذ ثلاثة أشكال:

-g جميع معلومات تصحيح الأخطاء ('-g:lines,vars,source')
-g:none لا توجد معلومات التصحيح
-g:{items} معلومات تصحيح الأخطاء لأي/جميع [السطور، vars، المصدر]، على سبيل المثال،
-ز: خطوط، مصدر

-احتفظ بجميع المواقع المحلية
الحفاظ على كافة المتغيرات المحلية أثناء إنشاء التعليمات البرمجية (لتسهيل التصحيح).

-المرجعيات
حساب المعلومات المرجعية.

-التشفير شكل
تحديد تنسيق ترميز المصدر الافتراضي. حدد ترميزًا مخصصًا لكل ملف
أساسًا عن طريق إضافة اسم الملف/المجلد المصدري لكل إدخال بـ "[ترميز]".

-مطول إرسال رسائل حول وحدات التجميع التي تم الوصول إليها/معالجتها

-showWeaveInfo
إرسال رسائل حول النسيج

-سجل ملف حدد ملف سجل لرسائل المترجم.

-التقدم إظهار التقدم (يتطلب وضع السجل).

-time عرض معلومات السرعة.

-noExit لا تتصل بـ System.exit(n) في نهاية الترجمة (n=0 إذا لم يكن هناك خطأ)

-كرر N كرر عملية التجميع N مرات (عادةً لإجراء تحليل الأداء).

-XterminateAfterCompilation
يؤدي إلى إنهاء المترجم قبل النسيج

-XaddSerialVersionUID
يؤدي إلى قيام المترجم بحساب حقل SerialVersionUID وإضافته إلى أي نوع
تنفيذ Serializable الذي يتأثر بجانب ما. الحقل هو
يتم حسابها على أساس الفصل قبل حدوث النسيج.

-Xreweavable[:ضغط]
(تجريبي - تم إهماله ليصبح افتراضيًا الآن) يقوم بتشغيل ويفر في الوضع القابل لإعادة التدوير والذي
يؤدي إلى إنشاء فئات منسوجة يمكن إعادة نسجها، وفقًا لـ
القيود المفروضة على محاولة إعادة نسج جميع الأنواع التي تنصح بالنسيج
يجب أن يكون النوع متاحًا.

-XnoInline
(تجريبي) لا تصطف حول النصيحة

-ملف Xincremental ملف
(تجريبي) يعمل هذا مثل الوضع التزايدي، ولكن باستخدام ملف بدلاً من ذلك
الإدخال القياسي للتحكم في المترجم. سيتم إعادة ترجمة الملف في كل مرة
يتغير ويتوقف عند حذف الملف.

-XserializableAspects
(تجريبي) عادةً ما يكون من الخطأ الإعلان عن الجوانب القابلة للتسلسل. هذا
الخيار يزيل هذا القيد.

-XnotReweavable
(تجريبي) قم بإنشاء ملفات فئة لا يمكن إعادة نسجها لاحقًا بواسطة AspectJ.

-مستوى وقت التشغيل: 1.2، مستوى وقت التشغيل: 1.5
(تجريبي) يسمح بإنشاء تعليمات برمجية تستهدف المستوى 1.2 أو 1.5
وقت تشغيل AspectJ (الافتراضي 1.5)

قم بتقديم أسماء
يقبل ajc الملفات المصدرية إما بامتداد جافا التمديد أو .aj امتداد. نحن
استخدام عادة جافا لجميع ملفاتنا في نظام AspectJ - الملفات التي تحتوي على جوانب
وكذلك الملفات التي تحتوي على فئات. ومع ذلك، إذا كان لديك حاجة إلى ميكانيكيا
التمييز بين الملفات التي تستخدم وظائف AspectJ الإضافية وبين الملفات النقية
جافا نوصي باستخدام .aj امتداد لتلك الملفات.

نود تثبيط الوسائل الأخرى للتمييز الميكانيكي مثل اصطلاحات التسمية
أو حزم فرعية لصالح .aj تمديد.

· من الصعب تطبيق اصطلاحات أسماء الملفات وتؤدي إلى أسماء غير ملائمة لجوانبك.
بدلا من TracingAspect.java نوصي باستخدام Tracing.aj (أو فقط Tracing.java)
بدلا من ذلك.

· تعمل الحزم الفرعية على نقل الجوانب من مكانها الطبيعي في النظام ويمكنها إنشاء
الحاجة المصطنعة للجوانب المميزة. بدلاً من إضافة حزمة فرعية مثل
الجوانب نوصي باستخدام .aj تمديد بما في ذلك هذه الملفات في ملفك
الحزم الموجودة بدلا من ذلك.

التوافق
AspectJ هو امتداد متوافق للغة برمجة Java. المترجم AspectJ
يلتزم به جافا اللغة المواصفات، الثاني طبعة (كتاب)
http://java.sun.com/docs/books/jls/index.html وإلى جافا افتراضي تشمل
تخصيص، الثاني طبعة (كتاب) http://java.sun.com/docs/books/vmspec/index.html و
يعمل على أي منصة متوافقة مع Java 2. يتم تشغيل الكود الذي ينشئه على أي إصدار Java 1.1 أو
منصة متوافقة في وقت لاحق. لمزيد من المعلومات حول التوافق مع Java ومع
الإصدارات السابقة من AspectJ، انظر "" >.

أمثلة
A بسيط مثال

تجميع ملفين:

ajc HelloWorld.java Trace.java

An مثال استخدام -argfile/@

لتجنب تحديد أسماء الملفات في سطر الأوامر، قم بإدراج الملفات المصدر في سطر محدد
ملف نصي. قد تكون مسارات الملف المصدر مطلقة أو مرتبطة بملف argfile، وقد تكون كذلك
قم بتضمين ملفات argfiles أخرى بواسطة @-reference. الملف التالي مصادر.lst يحتوي
الملفات المطلقة والنسبية والمراجع @:

واجهة المستخدم الرسومية.java
/home/user/src/Library.java
data/Repository.java
البيانات/Access.java
@../../common/common.lst
@/home/user/src/lib.lst
عرض/الجسم/ArrayView.java

قم بتجميع الملفات باستخدام النموذج -argfile أو @:

AJC -مصادر ملف arg.lst
اجك @sources.lst

يتم دعم ملفات Argfiles أيضًا بواسطة jikes وjavac، لذا يمكنك استخدام الملفات في الإصدارات المختلطة.
لكن الدعم يختلف:

· آجك فقط يقبل خيارات سطر الأوامر

· لا يقبل Jikes وJavac مراجع @argfile الداخلية.

· لا يقبل Jikes وJavac سوى نموذج @file الموجود في سطر الأوامر.

An مثال استخدام -inpath و - مسار الجانب

نسج Bytecode باستخدام -inpath: يدعم AspectJ 1.2 نسج ملفات .class في إدخال zip/jar
الملفات والدلائل. يشبه استخدام مرطبانات الإدخال تجميع الملفات المصدر المقابلة،
وتنبعث كافة الثنائيات إلى الإخراج. على الرغم من أن المترجمين المتوافقين مع Java قد يختلفون في
مخرجاتهم، يجب أن يأخذ AJC كمدخلات أي ملفات فئة يتم إنتاجها بواسطة javac، وjikes، وEclipse،
وبالطبع آي جي سي. سيتم دمج الجوانب المضمنة في -inpath مثل .class الأخرى
الملفات، وسوف تؤثر على أنواع أخرى كالمعتاد.

مكتبات Aspect التي تستخدم -aspectpath: يدعم AspectJ 1.1 النسيج من مكتبات القراءة فقط
تحتوي على جوانب مثل مرطبانات الإدخال، فهي تؤثر على جميع المدخلات؛ على عكس الجرار الإدخال، فإنها
أنفسهم لا يتأثرون أو ينبعثون كمخرجات. المصادر المجمعة مع المكتبات الجانبية
يجب تشغيله مع نفس المكتبات الجانبية في مسار الفصل الخاص بهم.

ينشئ المثال التالي مثال التتبع في بيئة سطر الأوامر؛ يخلق
مكتبة جانبية للقراءة فقط، تقوم بتجميع بعض الفئات لاستخدامها كرمز ثانوي للإدخال، وتجميعها
الفصول والمصادر الأخرى مع مكتبة الجوانب.

مثال التتبع موجود في توزيع AspectJ ({aspectj}/doc/examples/tracing). هذا
يستخدم الملفات التالية:

الجانبj1.1/
سلة مهملات/
اج
ليب /
aspectjrt.jar
أمثلة/
اقتفاء أثر/
Circle.java
مثالMain.java
ليب /
AbstractTrace.java
TraceMyClasses.java
notrace.lst
Square.java
Tracelib.lst
Tracev3.lst
TwoDShape.java
الإصدار 3/
Trace.java
TraceMyClasses.java

أدناه، يتم أخذ فاصل المسار كـ "؛"، لكن فواصل الملفات هي "/". جميع الأوامر هي
على سطر واحد. اضبط المسارات والأوامر وفقًا لبيئتك حسب الحاجة.

قم بإعداد المسار ومسار الفئة والدليل الحالي:

أمثلة على القرص المضغوط
تصدير ajrt=../lib/aspectjrt.jar
تصدير CLASSPATH = "$ajrt"
مسار التصدير = "../ بن: PATH $ "

إنشاء مكتبة تتبع للقراءة فقط:

ajc -argfile tracing/tracelib.lst -outjar Tracelib.jar

قم ببناء التطبيق مع التتبع في خطوة واحدة:

ajc -aspectpath Tracelib.jar -argfile tracing/notrace.lst -outjar Tracedapp.jar

قم بتشغيل التطبيق مع التتبع:

java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain

أنشئ التطبيق باستخدام التتبع من الثنائيات في خطوتين:

· (أ) بناء فئات التطبيق (باستخدام javac من أجل العرض التوضيحي):

فئات مكدير
javac -d class Tracing/*.java
jar cfM app.jar -C الطبقات .

· (ب) بناء التطبيق مع التتبع:

ajc -inpath app.jar -aspectpath Tracelib.jar -outjar Tracedapp.jar

قم بتشغيل التطبيق بالتتبع (كما هو موضح أعلاه):

java -classpath "$ajrt;tracedapp.jar;tracelib.jar" tracing.ExampleMain

قم بتشغيل التطبيق دون تتبع:

java -classpath "app.jar" tracing.ExampleMain

أسبكت مترجم API
يتم تنفيذ برنامج التحويل البرمجي AspectJ بالكامل في Java ويمكن استدعاؤه كفئة Java.
الواجهة الوحيدة التي يجب اعتبارها عامة هي الطرق العامة الموجودة فيها
org.aspectj.tools.ajc.Main. على سبيل المثال ، الرئيسي (سلسلة [] الحجج) يأخذ المعيار اج أمر
الحجج الخطية. هذا يعني أن هناك طريقة بديلة لتشغيل المترجم

جافا org.aspectj.tools.ajc.Main [خيار...] [ملف...]

للوصول إلى رسائل المترجم برمجياً، استخدم الطرق setHolder(IMessageHolder
مالك) و / أو تشغيل (سلسلة [] حجج, IMessageHolder مالك). اج تقارير كل رسالة إلى
حامل باستخدام IMessageHolder.handleMessage(..). إذا كنت ترغب فقط في جمع الرسائل،
تستخدم الرسالة مثلك IMessageHolder. على سبيل المثال، تجميع وتشغيل
متابعة مع aspectjtools.jar على مسار الفصل:

import org.aspectj.bridge.*;
import org.aspectj.tools.ajc.Main;
استيراد java.util.Arrays ؛

الطبقة العامة WrapAjc {
ثابت الفراغ الثابت الرئيسي (سلسلة [] الحجج) {
المترجم الرئيسي = new Main();
messageHandler m = new messageHandler();
compiler.run(args, m);
IMessage[] ms = m.getMessages(null, true);
System.out.println("الرسائل: " + Arrays.asList(آنسة))؛
}
}

كومة آثار و ال مصدر الملف السمة
على عكس مترجمات جافا التقليدية، قد يتم إنشاء مترجم AspectJ في بعض الحالات
classfiles من ملفات مصدر متعددة. لسوء الحظ، تنسيق ملف فئة Java الأصلي
لا يدعم سمات SourceFile المتعددة. من أجل التأكد من جميع الملفات المصدر
المعلومات متاحة، فقد يقوم برنامج التحويل البرمجي AspectJ في بعض الحالات بتشفير أسماء ملفات متعددة
في سمة الملف المصدر. عندما يقوم Java VM بإنشاء تتبعات المكدس، فإنه يستخدم هذا
سمة لتحديد الملف المصدر.

(يدعم برنامج التحويل البرمجي AspectJ 1.0 أيضًا امتدادات الملفات .class الخاصة بـ JSR-45. هذه
السماح لمصححات الأخطاء المتوافقة (مثل jdb في Java 1.4.1) بتحديد الملف والخط الصحيحين
حتى مع وجود العديد من الملفات المصدر لفئة واحدة. تم التخطيط لدعم JSR-45 لـ ajc in
AspectJ 1.1، لكنه ليس في الإصدار الأولي. للحصول على ملفات .class قابلة للتصحيح بشكل كامل، استخدم
خيار -XnoInline.)

ربما تكون المرة الوحيدة التي قد ترى فيها هذا التنسيق هي عندما تقوم بعرض تتبعات المكدس، حيث يمكنك
قد تواجه آثار التنسيق

java.lang.NullPointerException
في Main.new$constructor_call37(Main.java;SynchAspect.java[1k]:1030)

حيث بدلا من المعتاد

الملف:رقم السطر

الشكل، كما ترى

File0;File1[Number1];File2[Number2] ... :LineNumber

في هذه الحالة، LineNumber هو الإزاحة المعتادة في الأسطر بالإضافة إلى "سطر البداية" الفعلي
مصدر الملف. وهذا يعني أنك تستخدم LineNumber لتحديد الملف المصدر وللعثور عليه
الخط المعني. يخبرك الرقم الموجود بين قوسين بعد كل ملف بكلمة "start
line" لهذا الملف (يبدأ الملف الأول بالقيمة 0).

في مثالنا من تتبع استثناء المؤشر الفارغ، فإن خط البداية الظاهري هو 1030.
نظرًا لأن الملف SynchAspect.java "يبدأ" عند السطر 1000 [1k]، يشير LineNumber إلى السطر
30 من SynchAspect.java.

لذلك، عند مواجهة مثل هذه الآثار المكدسة، فإن الطريقة للعثور على موقع المصدر الفعلي هي البحث عن موقع المصدر الفعلي
ابحث في قائمة أرقام "خط البداية" للعثور على الرقم الموجود أسفل السطر الموضح مباشرةً
رقم. هذا هو الملف الذي يمكن العثور على موقع المصدر فيه بالفعل. ثم اطرح
"خط البداية" من رقم السطر الموضح للعثور على رقم السطر الفعلي داخل ذلك
ملف.

في ملف فئة يأتي من ملف مصدر واحد فقط، يتم إنشاء برنامج التحويل البرمجي AspectJ
سمات SourceFile المتوافقة مع مترجمات Java التقليدية.

اج(1)

استخدم ajc عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad