2010-10-21 18 views
6

का उपयोग कर स्वचालित अपडेट डेस्कटॉप एप्लिकेशन को लागू करते समय AWTPermission अपवाद मैं डेस्कटॉप एप्लिकेशन में काम कर रहा हूं जो डेटा के ऑनलाइन बैकअप प्रदान करता है। मेरे आवेदन में मैं स्वचालित सॉफ्टवेयर अद्यतन सुविधा को लागू करने की कोशिश कर रहा हूं। इसके लिए मैं जावा वेब स्टार्ट का उपयोग कर रहा हूं। मैंने जावा वेब स्टार्ट का उपयोग करने के लिए निम्न प्रक्रिया की है।जावा वेब प्रारंभ

1> सभी संसाधनों के साथ जार बनाया गया। 2> बनाई jnlp फ़ाइल के रूप में:

 <?xml version="1.0" encoding="UTF-8"?> 
    <jnlp spec="1.0+" 
       codebase="http://cmswebusa.com/kapil" 
       href="PixelVaultJNLP.jnlp"> 
       <information> 
         <title>PixelVault</title> 
          <vendor>globussoft</vendor> 
          </information> 
         <resources> 
        <!-- Application Resources -->  
          <jar href="PixelVault.jar" main="true" /> 

        </resources> 
        <application-desc 
        name="PixelVault" 
        main-class="com.pixelvault.systemtray.SysTray"> 
        </application-desc> 
        <update check="background"/> 
       </jnlp> 

जहां PixelVault.jar आवेदन जो http सर्वर स्थान पर है के जार है।

जब मैं टाइप करके अपने आवेदन कमांड प्रॉम्प्ट रन विकल्प का उपयोग कर डाउनलोड करने के लिए कोशिश कर रहा हूँ:

java.security.AccessControlException: पहुँच अस्वीकृत "java.awt.AWTPermission" javaws, मैं के रूप में AWT अनुमति अपवाद हो रही है

यह "java.awt.AWTPermissionException" "accessSystemTray" कहता है। मुझे नहीं मिल रहा है कि मैं अपने आवेदन को सिस्टम ट्रे का उपयोग करने की अनुमति कैसे दे सकता हूं।

कृपया jnlp फ़ाइल में बदलाव करने या मेरे आवेदन में कोई अन्य परिवर्तन करने के लिए मार्गदर्शन करें।

मैं आपके सभी मूल्यवान सुझावों का धन्यवाद करता हूं जो इस समस्या को हल करने में मेरी सहायता करेंगे।

उत्तर

2

कि त्रुटि से छुटकारा पाने के लिए:

  • JNLP एक सुरक्षा तत्व के भीतर सभी अनुमतियों को घोषित करने के लिए की आवश्यकता होगी।
  • कोड को डिजिटल रूप से हस्ताक्षरित करने की आवश्यकता होगी।

ध्यान दें कि जेएनएलपी फ़ाइल में सही क्रम से तत्व हैं। फ़ाइल की वैधता और लॉन्च के अन्य पहलुओं की जांच करने के लिए JaNeLA का उपयोग करें।

+0

मेरे प्रश्न का उत्तर देने के लिए धन्यवाद लेकिन मुझे डिजिटल हस्ताक्षर के साथ एक और समस्या है। मैं http://wiki.plexinfo.net/index.php?title=How_to_sign_JAR_files द्वारा मुख्य रूप से प्रक्रिया की प्रक्रिया का पालन कर रहा हूं और चरण 5 में> परीक्षण प्रमाणपत्र के साथ जेएआर फ़ाइल पर हस्ताक्षर करें मुझे त्रुटि jarsigner मिल रहा है: जार फ़ाइल खोलने में असमर्थ: http://cmswebusa.com/kapil/PixelVault.jar। यह जांचने का कोई तरीका है कि इस त्रुटि का कारण क्या हो सकता है। कृपया इसके लिए मुझे मार्गदर्शन करें। – Toman

+0

संदेश से पता चलता है कि आप एक जार फ़ाइल पर हस्ताक्षर करने का प्रयास कर रहे हैं जो पहले से ही नेट पर है। सफल होने के लिए, जार स्थानीय फाइल सिस्टम पर होना चाहिए। इसे वहां साइन करें, फिर इसे अपलोड करें। –

+0

आपके सुझावों के लिए धन्यवाद। अब यह मेरे लिए ठीक काम कर रहा है। – Toman

संबंधित मुद्दे