2013-04-03 7 views
36

पर हल नहीं किया जा सकता है मेरे पास एक गतिशील वेब प्रोजेक्ट है जिसे मैं जेआरयूएन से टोमकैट में एक जेएसपी/सर्वलेट ऐप माइग्रेट करने के लिए काम कर रहा हूं।ग्रहण त्रुटि ...

मुझे त्रुटि मिल रही है: com.ibm.ivj.eab.dab.DatastoreJDBC को किसी प्रकार से हल नहीं किया जा सकता है।

मेरे पास एक कॉम/ibm/ivj/eab/dab फ़ोल्डर के अंदर बैठे * .class फ़ाइलें हैं (ठीक है कि मैंने उन्हें कैसे पाया)। मैंने एक जार फ़ाइल बनाने और "बाहरी जार जोड़ें" के माध्यम से बिल्ड पथ में जोड़ने की कोशिश की है, मैंने "बाहरी कक्षा फ़ोल्डर" जोड़ने और उस फ़ोल्डर को इंगित करने का भी प्रयास किया है जिसमें प्रश्न में "कॉम" निर्देशिका है।

फिर भी, त्रुटि बनी रहती है। अजीब बात यह है कि अगर मैं पैकेज नाम लिखना शुरू करता हूं ग्रहण वास्तव में मेरे लिए वर्ग को स्वतः पूर्ण करता है! (नीचे चित्रित)। किसी भी विचार की बहुत प्रशंसा की जाएगी। हो सकता है कि वर्गों को पुराने जावा संस्करण के लिए संकलित किया गया हो और इससे परेशानी हो रही है? हो सकता है कि वेब-आईएनएफ/lib निर्देशिका में कक्षाएं समाप्त होने के लिए मुझे कुछ करने की ज़रूरत है?

मैं enter image description here

+0

क्या कक्षा के लिए आपके कोड में कोई आयात विवरण है? –

+0

@ChrisGerken नहीं मैंने अभी <% @ पृष्ठ आयात = "com.ibm.ivj.eab.dab। *"%> शीर्ष पर (यह एक जेएसपी पृष्ठ है) और <% @ पृष्ठ आयात = "कॉम .ibm.ivj.eab.dab.DatastoreJDBC "%> दिलचस्प क्या है ग्रहण पहले आयात को ध्यान में रखता है लेकिन दूसरी त्रुटि को एक त्रुटि के रूप में चिह्नित करता है। – mikey

उत्तर

36

अधिकार अपने प्रोजेक्ट के नाम पर क्लिक करें। गुण क्लिक करें। जावा बिल्ड पथ पर क्लिक करें। कक्षा जोड़ें फ़ोल्डर पर क्लिक करें। फिर अपनी कक्षा का चयन करें। वैकल्पिक रूप से, जार को काम करना चाहिए हालांकि आप दावा करते हैं कि आपने इसका प्रयास किया है। इसके अलावा, "क्या आपने इसे बंद करने और फिर से वापस करने की कोशिश की है"? (ग्रहण पुनरारंभ करें)।

+0

जब मैं "क्लास फ़ोल्डर जोड़ें" को उस फ़ोल्डर को चुनना चाहिए जिसमें "कॉम" निर्देशिका (महान-महान दादाजी) शामिल है या मुझे उस फ़ोल्डर को चुनना चाहिए जिसमें * .class फ़ाइलें हैं? – mikey

+0

इस सहित पैकेजों का एक अलग, अधिक व्यापक सेट मिला, जो कि एक जार में घुमाया गया, और अब तक इतना अच्छा है। धन्यवाद! – mikey

+4

जेएसपी के सत्यापन की बात आती है तो यह निश्चित रूप से ग्रहण की तरह थोड़ा छोटी हो सकती है। "इसे बंद करना और फिर से चालू करना" इसे अपने पैर को फिर से हासिल करने में मदद करता है, लेकिन मैंने यह भी पाया कि एक परियोजना -> साफ ... चीजों को सीधे सेट करने में मदद कर सकता है। – mikey

32

यदि आप मैवेनाइज्ड प्रोजेक्ट का उपयोग कर रहे हैं तो Alt + F5 पर क्लिक करके अपनी प्रोजेक्ट को अपडेट करने का प्रयास करें। या एप्लिकेशन पर राइट क्लिक करें और मेवेन/अपडेट प्रोजेक्ट पर जाएं।

यह आपके सभी घटकों को बनाता है और अगर कोई आयात त्रुटि है तो हल हो जाती है।

+3

को पुनरारंभ करने के बाद समस्या हल हो गई थी क्या कोई यह समझा सकता है कि ऐसा क्यों करना आवश्यक है? क्यों ग्रहण इसे स्वयं से नहीं समझ सकता है? – XMight

+1

मैं @XMight के प्रश्न को गूंजना चाहता हूं। – Erutan409

+0

मेरे पास यह समस्या थी और मैवेन प्रोजेक्ट को अनगिनत बार अपडेट करने का प्रयास किया लेकिन जब तक मैंने जेडीटी इंडेक्स को इस तरह हटा दिया, तब तक इसे हल नहीं किया: [उत्तर पर आप एक्लिप्स जेडीटी इंडेक्स तक कैसे पहुंचेंगे?] (Https://stackoverflow.com/a/3898528/635 9 607) – milijan

8

त्रुटि को हल करने के "... एक प्रकार से हल नहीं किया जा सकता है .." निम्न कार्य करें:

  1. सही वर्ग पर क्लिक करें और "पथ का निर्माण -> बाहर निकालें"
  2. फिर कक्षा पर राइट क्लिक करें और "बिल्ड पथ -> शामिल करें" का चयन करें

यह मेरे लिए काम करता है।

+0

तो यह मेरे लिए काम करता है :) – Sam

+0

धन्यवाद यह वास्तव में मेरे लिए काम किया ... – priyanka

1

जार को WEB_INF/lib में छोड़कर समस्या का समाधान किया।

0

Maven उपयोगकर्ताओं के लिए:

  • सही परियोजना
  • Maven
  • अद्यतन परियोजना
0

जार फ़ाइलों की प्रतिलिपि बनाने का समाधान हो जाएगा पर क्लिक करें। यदि किसी भी मौके से आप किसी भी ट्यूटोरियल से कोड की प्रतिलिपि बना रहे हैं, तो सुनिश्चित करें कि वर्ग के नाम सही मामले में लिखे गए हैं ... उदाहरण के लिए मैंने ट्यूटोरियल में से एक कोड कॉपी किया जिसमें एस कैप में सोलर था। ग्रहण लगातार गलती से फेंक रहा था और मैंने थोड़ी सी गुगल भी की ... सब कुछ ठीक था और मुझे टोपी छोटी समस्या का एहसास करने में 30 मिनट लग गए।यकीन है कि यह किसी को मदद मिलेगी

1
  • राइट क्लिक करें परियोजना>गुण हूँ
  • जावा पथ बिल्ड>जोड़े कक्षा फ़ोल्डर
  • का चयन करें बिन फ़ोल्डर
  • क्लिक करें ठीक
  • स्विच आदेश और निर्यात टैब
  • यूपी नए जोड़े बिन पथ चाल
  • क्लिक करें का चयन करें लागू करें बटन

enter image description here

0

कई नए उपयोगकर्ताओं के लिए जोड़ने के लिए भूल नहीं है यदि आप पैकेज में सभी कक्षाओं का उपयोग करना चाहते हैं तो अपने आयात विवरणों के बाद एक तारांकन (*) .... उदाहरण के लिए

import java.io.*; 

public class Learning 
{ 
    public static void main(String[] args) 
    { 
     BufferedInputStream sd = new BufferedInputStream(System.in); 
      // no error 
    } 
} 

============================================== ==================

import java.io; 

public class Learning 
{ 
    public static void main(String[] args) 
    { 
     BufferedInputStream sd = new BufferedInputStream(System.in); 
      // BufferedInputStream cannot be resolved to a type error 
    } 
} 
संबंधित मुद्दे