2012-01-15 8 views
10

मैं जावा में एक छवि वॉटरमार्किंग कार्यक्रम बना रहा हूं और मैं निम्नलिखित आयातित:मुझे कौन सी लाइब्रेरी चाहिए ताकि मैं जावा में इस com.sun.image.codec.jpeg तक पहुंच सकूं?

import com.sun.image.codec.jpeg.JPEGCodec; 
import com.sun.image.codec.jpeg.JPEGEncodeParam; 
import com.sun.image.codec.jpeg.JPEGImageEncoder; 

लेकिन मुझे एक त्रुटि मिलेगा जिसमें बताया गया:

पहुँच प्रतिबंध: प्रकार JPEGCodec की वजह से नहीं पहुंच नहीं है आवश्यक पुस्तकालय पर प्रतिबंध C:\Program Files\Java\jre6\lib\rt.jar

कोई इस को हल करने के लिए एक तरह से पता है, या उस तक पहुंचने और उसे करने के लिए मैं क्या पुस्तकालय जोड़ना चाहिए जहां मुझे लगता है कि पुस्तकालय?

+0

http: // stackoverflow। कॉम/प्रश्न/1 9 666673/आयात-कॉम-सन-छवि-कोडेक-जेपीईजी – skaffman

उत्तर

11

एक नज़र यहाँ Link

1. Open project properties. 
2. Select Java Build Path node. 
3. Select Libraries tab. 
4. Remove JRE System Library. 
5. Add Library JRE System Library. 

Milad के रूप में सुझाव दिया

यहां तक ​​कि इस काम करेंगे, हालांकि, यह सब सिफारिश जावा रनटाइम नीतियों के खिलाफ जाता है ले लो। सबसे अच्छा अभ्यास rt.jar का उपयोग कर से बचने के लिए है (या किसी अन्य सूर्य क्रम पुस्तकालय की आपूर्ति की उस बात के लिए, tools.jar की तरह)

+1

भले ही यह काम करेगा, यह सभी अनुशंसित जावा रनटाइम नीतियों के खिलाफ चला जाता है। सबसे अच्छा अभ्यास rt.jar (या उस मामले के लिए किसी भी अन्य सूर्य आपूर्ति रनटाइम लाइब्रेरी का उपयोग करने से बचने के लिए है, जैसे उपकरण।जार) –

+0

मैंने आपके उत्तर – RanRag

+0

में अपनी टिप्पणी शामिल की :) मैं बस यह सुनिश्चित करना चाहता था कि दिए गए उत्तरों व्यापक थे। क्षमा करें अगर मैंने घमंडी या कुछ भी सुना। –

3

ये आरटी.जर में हैं, जार फ़ाइल जेवीएम द्वारा रन-टाइम सुविधाओं के रूप में उपयोग की जाती है, और मैं आपको अपनी परियोजना की निर्भरता के रूप में जोड़ने के खिलाफ दृढ़ता से अनुशंसा करता हूं।

देखें here क्यों।

आप जो करना चाहते हैं उसे करने का सही तरीका here वर्णित है।

+0

तो मुझे अपने निर्माण पथ में बाहरी जार के रूप में rt.jar जोड़ना चाहिए? – adrian

+0

हाँ, आप होंगे, भले ही मैं अभी भी इसके खिलाफ आपको सलाह दूंगा। –

2

समस्या यह है, कि तुम sun.com.* पैकेज से पुस्तकालयों आयात कर रहे हैं। Oracle actually discourages इन पैकेजों का उपयोग, क्योंकि उन्हें भविष्य में रिलीज में हटाया जा सकता है या सभी JVM कार्यान्वयन में उपलब्ध नहीं हो सकता है।

यह संभव है कि आपका आईडीई (आप किस का उपयोग कर रहे हैं?) त्रुटियों को उत्पन्न करने के लिए कॉन्फ़िगर किया गया है यदि आप sun.com.* लाइब्रेरी आयात करने का प्रयास करते हैं, तो उस स्थिति में एक कॉन्फ़िगरेशन परिवर्तन आपको उन पुस्तकालयों का उपयोग करने की अनुमति देगा, लेकिन यह नहीं होगा वैसे भी एक अच्छा विचार है। बिना पहुंच प्रतिबंध वाले पुस्तकालयों का उपयोग करके आपको अपनी इच्छित कार्यक्षमता के अन्य विकल्पों की तलाश करनी चाहिए।

इसके अलावा, यदि आप चाहते हैं कि एक जेपीईजी फ़ाइल को पढ़ या लिखना है, तो ImageIO कक्षा पर एक नज़र डालें, वहां बहुत उपयोगी तरीके हैं।

0

हो सकता है कि आपके JRE प्रणाली पुस्तकालय 1.8

या ग्रहण है: प्रोजेक्ट गुण> जावा संकलक> त्रुटियों/चेतावनी> पदावनत एपीआई

परिवर्तन त्रुटि की अनदेखी करने/चेतावनी

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