मैं एक सीएस छात्र हूं और वर्ष के अंत की परियोजना के लिए मेरे सिर पर चढ़ रहा हूं, जिसके लिए मुझे एक अलग विंडो के आयामों और स्थानों को खोजने की आवश्यकता है। मैंने पाया है कि मुझे जेएनए पुस्तकालयों का उपयोग करने और यह समझने की ज़रूरत है कि यह कैसे करें लेकिन मुझे समझ में नहीं आता कि मैनिफेस्ट के माध्यम से जेएनए पुस्तकालयों को कैसे आयात किया जाए। यहाँ मेरी फ़ाइल संरचना अब तक है (मैं netbeans में काम कर रहा हूँ):

  • परियोजना फोल्डर
    • जिला फ़ोल्डर
    • nbप्रोजेक्ट फ़ोल्डर
    • src फोल्डर
    • परीक्षण फ़ोल्डर
    • बिल्ड.एक्सएमएल
    • Game.exe <- यह वह exe है जिसे मैं जावा फ़ाइल से ही चलाता हूं। मुझे परियोजना में बाद में उपयोग के लिए इस विंडो का आकार और स्थान खोजने की आवश्यकता है
    • jna.jar <- इसे क्लासपाथ के रूप में लागू करने की आवश्यकता है
    • Manifest.mf <- मुझे इसे संपादित करने की आवश्यकता है।

मैं आपको यह दिखाने का कारण यह सुनिश्चित करना है कि मैंने जेएनए जार को सही जगह पर रखा है।

अगला, यहाँ मेरा मैनिफेस्ट है:

Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
Class-Path: C:\Users\justi_000\Google Drive\4. APCS\JZMinesweeper\jna.jar

इसलिए मुझे java -cp के बाद थोड़ा सा संपादित करने की आवश्यकता है, लेकिन मुझे नहीं पता कि वहां क्या रखा जाए, और किस क्रम में। जावा टट्स, आदि बहुत मदद नहीं कर रहे हैं।

इसके अतिरिक्त, क्या ये आयात सही हैं? वे समस्या हो सकती हैं और मैंने सब कुछ सही ढंग से आयात किया है, लेकिन मुझे इसमें संदेह है।

import com.sun.jna.*;
import com.sun.jna.platform.win32.WinDef.HWND;
import com.sun.jna.win32.*;
0
Justin Ziegelmueller 24 मई 2016, 17:35
मेनिफेस्ट फ़ाइल के भीतर क्लास पाथ स्टेटमेंट एक निरपेक्ष पथ नहीं होना चाहिए क्योंकि यह आपको प्रोग्राम को कहीं और ले जाने से पूरी तरह से रोक देगा। नहीं, यह उपयोगकर्ता की कार्यशील निर्देशिका से संबंधित पथ होना चाहिए, जिसे आप System.out.println(System.getProperty("user.dir")); पर कॉल करके प्राप्त कर सकते हैं, ध्यान दें कि jna.jar फ़ाइल आपके एप्लिकेशन की जार फ़ाइल में नहीं होनी चाहिए।
 – 
Hovercraft Full Of Eels
25 मई 2016, 01:59
आपका दूसरा आयात आपको com.sun.jna.platform.win32.* करना चाहिए और वह jna-platform.jar के बिना काम नहीं कर सकता।
 – 
Daniel Widdis
25 मई 2016, 03:21
आप अपनी सभी जार फ़ाइलों (जेएनए और जेएनए-प्लेटफ़ॉर्म) को एक lib निर्देशिका में डालने पर विचार कर सकते हैं और फिर आप अपने क्लासपाथ में केवल lib/* जोड़ सकते हैं।
 – 
Daniel Widdis
25 मई 2016, 03:23
होवरक्राफ्ट - हाँ, मैं इस तथ्य को पहचानता हूँ। मैं यहां सिर्फ एक पूर्ण पथ का उपयोग कर रहा हूं क्योंकि मुझे आश्चर्य है कि क्या यह समस्या होगी डैनियल - ठीक है, लेकिन यह अभी भी इसे आयात करने की समस्या को छोड़ देता है। पारितोषिक के लिए धन्यवाद। क्या मैं क्लासपाथ आयात सही तरीके से कर रहा हूं?
 – 
Justin Ziegelmueller
25 मई 2016, 03:54

1 उत्तर

सबसे बढ़िया उत्तर

और, पता चला, कि यह एक मूर्खतापूर्ण आसान समाधान था कि मेरी सामान्य अक्षमता ने मुझे याद किया।

यह पता चला है कि IDEs में पुस्तकालयों को सीधे आयात करना वास्तव में संभव है ... शायद वे सभी इसके लिए एक उपकरण क्यों शामिल करते हैं। ब्लाइंड ओल्ड मी ने केवल एक बार पहले कभी उनका इस्तेमाल किया है (एक छात्र होने के खतरे) लेकिन हम पूरी तरह तैयार हैं। राइट क्लिक लाइब्रेरी के रूप में सरल> जार जोड़ें।

लगा कि मैं इसे भविष्य के संदर्भ के लिए यहां चिपकाऊंगा।

0
Justin Ziegelmueller 25 मई 2016, 04:25