JamVm لا يقوم بتشغيل تطبيق (يستخدم jpcap) على Gumstix
-
14-12-2019 - |
سؤال
مبتدئ هنا يعتذر مقدمًا عن سؤال أي شيء سخيف/واضح.أحاول تشغيل تطبيق Java على لوحة Gumstix overo (linux kernel 2.6.34).لقد قمت حتى الآن بتثبيت مكتبات JamVm (jvm) ومترجم jikes ومكتبات classpath (وفقًا للتعليمات الواردة في هذا البرنامج التعليمي).لقد قمت بتشغيل برنامج HelloWorld ويبدو جيدًا.
الآن عندما أحاول تشغيل تطبيق آخر (مثل "MyApp") يستخدم مكتبات "jpcap"، يعطيني jvm خطأ يبدو كالتالي:استثناء أثناء إرسال الحدث:java.lang.UnsatisfiedLinkError:لم يتم العثور على المكتبة الأصلية "jpcap" (كملف "libjpcap.so") في gnu.classpath.boot.library.path و java.library.path ...
تم تجميع هذا التطبيق باستخدام Netbeans 7.1.ولدت ديست المجلد الذي هيكله هو:
حي:|-- تطبيقي.jar |-- اقرأني |-- lib (مجلد) |---|-- JPCAP.jar |---|-- سوينغ تخطيط 1.0.4.jar
يقول الملف التمهيدي أنه من أجل نشر هذا التطبيق ، يجب على المرء أن يذهب إلى مجلد dist واكتب "java -jar "MyApp.jar".عندما أفعل ذلك ("jamvm -jar MyApp.jar")، أحصل على الخطأ المذكور أعلاه.
تم تثبيت libpcap-1.1.1-r1.6 على لوحة Gumstix الخاصة بي.(لقد وجدت /usr/lib/libpcap.so.1 على لوحتي.)
هل يعرف أحد ما الخطأ الذي يحدث؟. أي نصيحة في غاية الامتنان
ملاحظة:لقد قمت بنشر هذا السؤال على قائمة مستخدمي Gumstix منذ بضع دقائق فقط.أنا أنشر هنا أيضًا للحصول على فرصة أفضل للرد.آمل أن يكون هذا على ما يرام مع الجميع هنا.
المحلول
ال libjpcap.so
ينبغي أن يكون في gnu.classpath.boot.library.path
أو java.library.path
كما ينص الخطأ.يمكنك طباعة هذه المسارات عن طريق الحصول عليها System.getProperty("java.library.path")
لكن /usr/lib
هو تخمين جيد.