2013-01-04 24 views
57

यह वास्तव में एक साधारण सवाल है, और शायद यह कहीं ऐसी सेटिंग है जहां मुझे पता नहीं है, लेकिन Google इस प्रश्न के लिए विशेष रूप से अनुपयोगी है, संकलन त्रुटियों के बारे में परिणाम दे रहा है, न कि कैसे संकलन त्रुटि संदेशों को बदलें।मैवेन "प्रतीक नहीं ढूंढ सकता" संदेश अनुपयोगी

जब मैं Maven के साथ अपने प्रोजेक्ट का निर्माण, यह मेरे त्रुटि संदेश मोटे तौर पर स्वरूपित दे देंगे इस प्रकार है:

[ERROR] /path/to/source/Main.java:[13,8] त्रुटि: नहीं मिल सकता है प्रतीक

जब मैं चींटी या जावैक के साथ निर्माण करता हूं, तो यह वास्तव में मुझे प्रतीक बताएगा कि यह त्रुटि संदेश में नहीं मिल सकता है। मेवेन मुझे एक लाइन नंबर और चरित्र की स्थिति देता है, लेकिन वास्तविक प्रतीक प्रदर्शित करना अधिक सहायक होगा। ऊपर दी गई रेखा एकमात्र पंक्ति है जिसे "प्रतीक नहीं मिल सकता" त्रुटियों में से प्रत्येक के लिए दिया गया है। ऊपर या नीचे कोई रेखा नहीं है जो प्रतीक देता है। मुझे कल्पना है कि मुझे उस जानकारी को बताने के लिए मेवेन पाने का कोई तरीका होना चाहिए, लेकिन मुझे नहीं पता कि यह क्या है। मैंने -ई विकल्प की कोशिश की, क्योंकि एमवीएन ने मुझे इसका उपयोग करने की कोशिश करने के लिए कहा था, लेकिन यह त्रुटि के लिए एक मैवेन ट्रेसबैक दिया, वास्तविक प्रतीक नहीं।

कोई मदद?

यहाँ mvn --version

Apache Maven 3.0.4 (rNON-CANONICAL_2012-10-24_11-25_mockbuild; 2012-10-24 07:25:04-0400) 
Maven home: /usr/share/maven 
Java version: 1.7.0_09-icedtea, vendor: Oracle Corporation 
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux", version: "3.6.6-1.fc17.x86_64", arch: "amd64", family: "unix" 

के उत्पादन में है और यहाँ एक उदाहरण (बेकार) त्रुटि संदेश नहीं है, वास्तव में Maven से आउटपुट के रूप में (बस के साथ निर्देशिका में संक्षिप्त):

[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] /path/to/source/SoundEngineFilePanel.java:[33,8] error: cannot find symbol 
[ERROR] class SoundEngineFilePanel 
/path/to/source/SoundEngineFilePanel.java:[36,8] error: cannot find symbol 
[INFO] 2 errors 
[INFO] ------------------------------------------------------------- 

प्रतीकों यह "fakeThing" और "fakeThing2" नहीं मिल रहा है, SoundEngineFilePanel नहीं।

+0

सहायता कर सकता है क्या आप कुछ संस्करण जानकारी (विशेष रूप से मेवेन) आदि प्रदान कर सकते हैं? यह मेरे लिए नहीं होता है। –

+1

... और कुछ त्रुटि आउटपुट। मुझे यकीन है कि पिछली या अगली पंक्ति में गायब प्रतीक का उल्लेख किया गया है! –

+0

अधिक जानकारी प्रदान की गई। – mattg

उत्तर

35

यह जेडके 7 से संबंधित मेवेन कंपाइलर प्लगइन में bug है। जेडीके 6 के साथ ठीक काम करता है।

+4

मेवेन-कंपाइलर-प्लगइन 3.1 में तय किया जाना प्रतीत होता है। [George-papatheodorou] देखें (http://stackoverflow.com/users/1570793/george-papatheodorou) का जवाब। –

+0

यह कोई समाधान नहीं है .. संकलन त्रुटि अभी भी जावा 8 में हो रही है। – Eta

1

यह मेवेन का कार्य नहीं है; यह संकलक का एक कार्य है। नज़दीक से देखें; जो जानकारी आप खोज रहे हैं वह निम्न पंक्ति में सबसे अधिक संभावना है।

+4

नहीं, यह नहीं है। मैंने सवाल संपादित किया। – mattg

+0

मुझे एक ही त्रुटि मिल रही थी। बाद की त्रुटि ने उस निर्भरता का नाम दिया जो परियोजना से गायब था (इस मामले में एक org.apache.poi.xssf लाइब्रेरी क्लास)। – John

0

मेरा अनुमान है कि संकलक एक अवैध एनोटेशन के बारे में शिकायत कर रहा है। मैंने देखा है कि ग्रहण एक एनोटेशन में किसी सरणी के अंत में एक अल्पविराम की तरह सभी त्रुटियों को नहीं दिखाता है। लेकिन मानक javac करता है।

+0

जिस लाइन की शिकायत है वह 'fakeThing = new JPanel() 'है। यह सिर्फ मानक है "प्रतीक नहीं ढूंढ सकता" त्रुटि है कि जावैक "नकली टिंग" दिखाएगा। मेवेन बस इसे नहीं दिखा रहा है। – mattg

29

अद्यतन 3.1:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.1</version> 
    <configuration> 
     <source>1.7</source> 
     <target>1.7</target> 
    </configuration> 
</plugin> 
+0

इस प्लगइन का नवीनतम संस्करण निर्धारित करने का सबसे अच्छा तरीका क्या है? मुझे यह सब मिल सकता है: http://maven.apache.org/plugins/maven-compiler-plugin/source-repository.html धन्यवाद। –

+1

http://maven.apache.org/plugins/index.html –

2

यहां तक ​​कि मैं जावा 7 उपयोग कर रहा हूँ, Maven 2.2.1 और एक ही त्रुटि हो रही थी, मैं <scope>tests</scope> मेरी पोम से हटा दिया और

mvn clean -DskipTests=true install इस्तेमाल किया सफलतापूर्वक बनाने के लिए अपनी परियोजनाएं, मेरे मैवेन संस्करण को अपग्रेड किए बिना।

+0

"mvn clean -DskipTests = true" इंस्टॉल एक जादू कमांड है! साझा करने के लिए Thx। (बीटीडब्ल्यू मैंने अपने परीक्षण परीक्षण नहीं किया) – Eta

3

मुझे एक ही समस्या थी।कारण यह है कि मैं दो जार फ़ाइलों Maven निर्भरता के माध्यम से नहीं जोड़ा गया था, इसलिए जब मैं mvn compile भाग गया, कंसोल त्रुटि त्रुटि दिखा रहे:

Symbol cannot be found,Class...".

इसे ठीक करने के लिए:

  1. जार निकालें निर्माण पथ से फाइल
  2. पथ
  3. भागो mvn compile
3

मैं निर्माण में जोड़े n मेरा मामला समस्या एक बाल जार में थी जिसे पुनर्निर्मित नहीं किया गया था क्योंकि मैंने एक नई कक्षा को जोड़ा है, उस बच्चे की जार का pom.xml मेरे असफल pom.xml से संबंधित नहीं है क्योंकि बच्चे से माता-पिता संबंध (<parent> टैग का उपयोग कर) । तो मैंने बाल जार का पुनर्निर्माण किया जिसके बाद त्रुटि चली गई।

+0

यह मेरी समस्या भी थी। हालांकि मैवेन में निश्चित रूप से मौजूदा बग हैं, मैं उम्मीद करता हूं कि ज्यादातर मामलों में, मेवेन त्रुटियों या मुद्दों का निर्माण इन परिदृश्यों द्वारा समझाया जाता है। –

0

मुझे प्रोजेक्ट पर मेवेन इंस्टॉल चलाने की कोशिश करते समय एक्लिप्स एसटीएस में एक ही समस्या हो रही थी। मैंने उस परियोजना के लिए मेरी pom.xml फ़ाइल की निर्भरताओं में कुछ संस्करणों को बदल दिया था और उन प्रोजेक्ट्स जो उन निर्भरताओं की ओर इशारा करते थे। मैंने इसे बदलकर सभी परियोजनाओं पर एक मैवेन इंस्टॉल करके इसे हल किया और फिर मूल पर फिर से इंस्टॉल किया।

0

मेरे पास मेवेन के साथ एक ही समस्या थी। ऐसा होता है कि मेरी समस्या थी, मैवेन differenc केस नामों के साथ फ़ोल्डर्स उत्पन्न कर रहा था। मैं एक .service.MyFile की उम्मीद कर रहा था लेकिन लक्ष्य फ़ोल्डर में यह सेवा/MyFile था और जावा एक मामला संवेदनशील है। मुझे पता लगाने में कुछ घंटे लगे, आपको इसकी जांच करने की सलाह दी गई है।

0

समाधान: @ अपने घटक का निर्माण करने से पहले (एमवीएन क्लीन इंस्टॉल का उपयोग करके)। पूरी परियोजना को एक बार बनाएं और फिर अपना घटक बनाएं

क्यों SO:
मुझे यह त्रुटि कई बार मिलती है। ज्यादातर बार मैं अकेले अपना घटक बनाने की कोशिश करूंगा (जैसा कि मैंने कहीं और बदलाव नहीं किए हैं)।

दाएं, लेकिन हाल ही में जो अतिरिक्त जार डाउनलोड किया गया है, वह किसी तीसरे पक्ष (उनके घटक के अंदर) द्वारा किए गए परिवर्तनों से प्रभावित हो सकता है। पूरे प्रोजेक्ट पर एक पूर्ण एमवीएन क्लीन इंस्टॉल करने से मुझे कई बार

0

बचाया गया है यदि आप कार्यस्थल में किसी अन्य प्रोजेक्ट पर निर्भरता रखते हैं और ये परियोजनाएं ठीक तरह से निर्माण नहीं कर रही हैं, तो ऐसी त्रुटि आ सकती है। पहले ऐसी निर्भर परियोजनाओं को बनाने का प्रयास करें, यह

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