2012-04-28 7 views
9

मैं यूटीएफ -8 के साथ अपनी कक्षाओं का निर्माण करने के लिए मैवेन को मजबूर करने के लिए बाह्य पर्यावरण परिवर्तनीय पर भरोसा नहीं करना चाहता हूं। मैक पर, मैवेन के साथ निर्माण करते समय मुझे सभी तरह की समस्याएं मिल रही थीं। नीचे ही एकमात्र विकल्प समस्या हल:बाहरी JAVA_TOOL_OPTIONS का उपयोग किये बिना यूटीएफ -8 के साथ मेवेन बिल्ड क्लास फाइल बनाने का कोई तरीका है?

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 
mvn clean install 

हालांकि मैं अपने प्रोजेक्ट का वितरण कर रहा हूँ और यह भावना परियोजना सही ढंग से निर्माण करने के लिए इस वातावरण चर सेट करने के लिए उपयोगकर्ता पर भरोसा करने के लिए नहीं है। enabling UTF-8 encoding for clojure source files

किसी को भी है कि भयानक Maven मुद्दे पर एक प्रकाश है:

को यहां बताए गए सब कुछ कोशिश की?

+0

क्या आप मेवेन आउटपुट में एन्कोडिंग त्रुटि/चेतावनी देख रहे हैं? – andyb

उत्तर

30

@Joop Eggen यहाँ सही जवाब दिया: https://stackoverflow.com/a/10367745/962872

यह है कि संपत्ति को परिभाषित करने के लिए पर्याप्त नहीं है। आपको उचित प्लगइन के अंदर इसे पास करना होगा। यह जादू के अंदर नहीं जायेगा।

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>...</version> 
    <configuration> 
     <source>1.6</source> 
     <target>1.6</target> 
     <encoding>${project.build.sourceEncoding}</encoding> 
    </configuration> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>...</version> 
    <configuration> 
     <encoding>${project.build.sourceEncoding}</encoding> 
    </configuration> 
</plugin> 
... 
<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
+0

अच्छा और इसे लिखने के लिए धन्यवाद। खुशी है कि आपको अंत में दोनों सवालों का जवाब मिल गया है। – andyb

+1

उत्तर सही है, लेकिन केवल जानकारी के लिए: आधिकारिक मेवेन के दस्तावेज़ीकरण के अनुसार, केवल '' टैग जोड़ना ठीक होना चाहिए। उद्धरण: _ प्लगइन ** के लिए जो स्रोत फ़ाइल एन्कोडिंग के लिए हमारे दिशानिर्देश का पालन करता है * *, यह आपके पीओएम (या उसके मूल पीओएम में से एक) में निम्न संपत्ति जोड़ने जैसा आसान है: ..._ स्रोत: http://maven.apache.org/general.html#encoding-warning – mithrop

+1

मैवेन-कंपाइलर -प्लगिन और मेवेन-संसाधन-प्लगइन दस्तावेज कहता है: पैरामीटर एन्कोडिंग: डिफ़ॉल्ट मान है: '$ {project.build.sourceEncoding} '। तो मुझे लगता है कि संपत्ति को आजकल सेट करना पर्याप्त है। – leo

1

हाँ वहाँ, परिभाषित है

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
+0

यह मैक पर काम नहीं करता है। मैंने बिना सफलता के कई बार परीक्षण किया। :( – chrisapotek

+2

क्या आपको अन्य समस्याएं हैं। मेवेन का कौन सा संस्करण आप उपयोग कर रहे हैं? और आपको कौन सी समस्याएं मिलीं? त्रुटि संदेश इत्यादि? – khmarbaise

0

मैं इस समस्या में भाग रहा था, लेकिन केवल Emacs से संकलन चलाते समय। मैं परियोजना के पोम्स नहीं बदल सका। मेरे लिए क्या काम किया गया था ~/.mavenrc

LANG=en_US.UTF-8 
संबंधित मुद्दे

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