दिलचस्प पोस्ट
एमवीसी रेजर वीएल 2013/2015/2017 में टूट गया Intellisense देखें स्टैक स्मैशिंग का पता चला Animation.setFillAfter / इससे पहले – क्या वे काम करते हैं / वे क्या हैं? क्या इस एक्सेस डाटाबेस स्कीमा में ड्रॉपडाउन लोकप्रिय हो रहा है? मैं iPhone 6/6 प्लस लैंडस्केप केवल ऐप के लिए लॉन्च चित्र कैसे बनाऊँ? अजगर का उपयोग करके वॉल्यूम पर क्रॉस-प्लेटफॉर्म स्थान शेष है इंटेन्ट (फ़्रोयो) का उपयोग करके एंड्रॉइड कैलेंडर ऐप्लिकेशन लॉन्च कैसे करें jQuery / जावास्क्रिप्ट: एक iframe की सामग्री तक पहुंचने कार्यान्वयन के साथ शुद्ध आभासी फ़ंक्शन एंड्रॉइड पृष्ठभूमि सेवा तब शुरू हो रही है जब एप्लिकेशन को मार दिया जाता है त्रुटि "थ्रेड 1: ब्रेकपॉइंट 2.1" एंड्रॉइड: ScrollView स्क्रॉलिंग बंद हो जाता है जब पता लगाएं Jquery में अजाक्स स्थानीय फ़ाइल से काम नहीं करता Django 1.7 और डेटा माइग्रेशन के साथ शुरुआती डेटा लोड हो रहा है पायथन क्यों मेरे मॉड्यूल को आयात करते समय चलाता है, और मैं इसे कैसे रोकूं?

कमांड लाइन से एक जावा प्रोग्राम निष्पादित करते समय "गलत नाम" प्राप्त करना NoClassDefFoundError

मेरे जावा एप्लिकेशन को निष्पादित करने का प्रयास करते समय मुझे एक समस्या है जब भी मैं आदेश के माध्यम से प्रोग्राम निष्पादित करने की कोशिश करता हूँ

java ProgAudioJ 

मुझे यह त्रुटि मिलती है:

 Exception in thread "main" java.lang.NoClassDefFoundError: ProgAudioJ (wrong name: es_2011/ProgAudioJ) at java.lang.ClassLoader.defineClass1(NativeMethod) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(NativeMethod) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Could not find the main class: ProgAudioJ. Program will exit. 

अगर मैं अपने कोड से निकालता हूं:

 package es_2011; 

सब कुछ पूरी तरह से काम करता है मैं इस समस्या का समाधान कैसे करूं?

वेब के समाधान से एकत्रित समाधान "कमांड लाइन से एक जावा प्रोग्राम निष्पादित करते समय "गलत नाम" प्राप्त करना NoClassDefFoundError"

क्योंकि मैं इन उत्तरों को अस्पष्ट पाया, यहां आपको क्या करना है सबसे पहले, यदि आप अपना कोड पैकेज करते हैं (IE आपके कक्षाओं में शीर्ष पर package कीवर्ड है) तो संकलित वर्गों को कोड में आपके पैकेज घोषणा के समान नाम से एक निर्देशिका में होना चाहिए। जब आप अपनी कक्षाओं को संकलित कर लें, तो आपको जवा कमांड को एक्सडिटेक्ट करते समय एक डायरेक्टरी बढ़ने की जरूरत होती है, और आप पैकेज का नाम शामिल करते हैं । उदाहरण के लिए, यदि आपका कोड /myFolder/myPackage/ में मौजूद है, और आपका क्लास package myPackage शुरू होता package myPackage (ध्यान दें कि निर्देशिका और पैकेज समान नाम हैं), तो आप निम्न (linux / osx) करेंगे:

 cd /myFolder/myPackage javac MyClass.java cd .. java myPackage.MyClass 

संपादित करें – कुछ को स्पष्ट करने के लिए देर से संपादित मैं देखता हूं कि लोगों को भ्रमित हो जाता है। ऊपर दिए गए उदाहरण में, पैकेज केवल एक गहरी है, जिसका अर्थ है कि इसका सिर्फ मेरा पैकेज है यदि आपके कोड में बड़ा पैकेज है, तो जैसे

 package com.somedomain.someproject; 

आपको उस आदेश से जावा कमांड निष्पादित करने की आवश्यकता होगी जिसमें उस पैकेज के रूट निर्देशिका शामिल है। उदाहरण के लिए यदि आपका कंपाइल किया गया कोड MyCode / com / somedomain / someproject / MyMainClass.class में है, तो आप मेरे कूट फ़ोल्डर से java कमांड को निष्पादित करेंगे, जैसे कि (फिर से, विशेष नोट लें कि निर्देशिका संरचना पैकेज के समान है घोषणा):

 cd /myCode java com.somedomain.someproject.MyMainClass 

उपयोग करने का प्रयास करें:

 java es_2011.ProgAudioJ 

( java ProgAudioJ बजाय)

मैं आपकी मौजूदा कार्यशील निर्देशिका और आपके CLASSPATH के बारे में यहां कुछ अनुमान लगा रहा हूं यदि आप उस कमांड के बारे में जानकारी प्रदान कर सकते हैं जिसे आप चला रहे हैं (जैसे कि आप किस निर्देशिका में हैं, जहां क्लास फ़ाइल है, आदि), हम आपको अधिक कुशलता से मदद कर सकते हैं।

इसे आज़माएं (संकलन और चलाएं):

dir

 2011-02-10 00:30 <DIR> . 2011-02-10 00:30 <DIR> .. 2011-02-10 00:27 58 es_2011 

javac es_2011 / ProgAudioJ

जाजा es_2011.प्रोग ऑडियोज़ा

यह काफी स्पष्ट रूप से कहा गया है:

java.lang.NoClassDefFound त्रुटि: ProgAudioJ (गलत नाम: es_2011 / ProgAudioJ)

यदि आप पैकेज (*) में एक क्लास डालना चाहते हैं, तो स्रोत कोड को इसी निर्देशिका में रखा जाना चाहिए, जैसे,

 src/Main.java <- root package (no declaration) src/es_2011/ProgAudioJ.java <- package es_2011; 

(*) आपको हमेशा यह करना चाहिए, छोटे फेंक-सामान के अलावा और संभवतः मुख्य कक्षा के लिए।

इसे इस्तेमाल करे,

  1. नीचे दिए गए आदेश का उपयोग करके अपनी कक्षा संकलित करें

     $ javac ProgAudioJ.java -d . 
  2. अपने आवेदन को आदेश से चलाएं

     $ java es_2011.ProgAudioJ 

इसका कारण यह है कि जब आप निकालते हैं तो यह काम करता है
package es_2011
यह है कि आप बदल रहे हैं कि कैसे संकलक संकुल ऊपर, और प्रभावी रूप से पता लगाता है, फ़ाइल।

मुझे एक ही समस्या थी – और त्रुटि संदेश wrong name: वास्तव में आपको जवाब देने की ओर संकेत करता है आप वर्ग नाम को चलाने के लिए "ProgAudioJ" नाम गलत नाम का प्रयोग कर रहे हैं। इसे पैक किया गया है

es_2011 / ProgAudioJ

इसे चलाने के लिए – आपको या तो एक निर्देशिका को ऊपर ले जाना है:

यदि आप यहां हैं: (विंडोज़) src\es_2011\
src\

फिर लाइन चलाएं:

java es_2011.ProgAudioJ

यह संकलक को प्रोजेड्यूएज को देखने के लिए कहता है- जो es_2011 पैकेज में रहता है। मानक स्थापना के लिए, यह फ़ोल्डर्स पर आधारित होगा – इसलिए यह पहले es_2011 फ़ोल्डर की खोज करेगा, और उसके बाद आप उस क्लासिक फ़ाइल का नाम देखेंगे जिसे आप चलाने के लिए चाहते हैं (प्रोगऑडियो)।