का कारण बनता है हमारे पास एक टीमसिटी (7.0.3) एजेंट 64-बिट Windows Server 2008 मशीन पर चल रहा है।file.separator Java 7 विकल्प ExceptionInInitializerError
Error occurred during initialization of VM
java.lang.ExceptionInInitializerError
at java.lang.Runtime.loadLibrary0(Runtime.java:841)
at java.lang.System.loadLibrary(System.java:1084)
at java.lang.System.initializeSystemClass(System.java:1145)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:658)
at java.io.Win32FileSystem.<init>(Win32FileSystem.java:40)
at java.io.WinNTFileSystem.<init>(WinNTFileSystem.java:37)
at java.io.FileSystem.getFileSystem(Native Method)
at java.io.File.<clinit>(File.java:156)
at java.lang.Runtime.loadLibrary0(Runtime.java:841)
at java.lang.System.loadLibrary(System.java:1084)
at java.lang.System.initializeSystemClass(System.java:1145)
समस्या "-Dfile.separator = \" के शामिल किए जाने की वजह से किया जा रहा है: हम हाल ही में एजेंट जावा 7 उपयोग करने के लिए (1.7.0_10) के लिए उन्नत जब बनाता निम्नलिखित स्टैकट्रेस साथ में नाकाम रहने के लिए शुरू कर दिया जावा विकल्प जो टीमसिटी एजेंट के लिए निष्पादन योग्य कमांड में उपयोग करता है। मैं एक साधारण "हैलो वर्ल्ड" कक्षा लिखकर और इसे विंडोज बॉक्स पर संकलित करके और फिर प्रोग्राम के साथ प्रोग्राम चलाने के लिए समस्या को पुन: उत्पन्न करने में सक्षम था। उदाहरण के लिए प्रोग्राम (उदाहरण के लिए जावा-डीफाइल.सेपरेटर = \ हैलोवर्ल्ड)
I कोई भी समान बग रिपोर्ट नहीं मिली है। किसी ने भी इस तरह से कुछ भी देखा है? जावा 7 में file.separator का व्यवहार बदल गया है?
इसके अलावा मुझे एहसास है कि \ n डिफ़ॉल्ट फ़ाइल है। विंडोज के लिए अलग-अलग, इसलिए मुझे नहीं लगता कि एजेंट को वास्तव में निष्पादन योग्य कमांड में इसका उपयोग करने की ज़रूरत है, हालांकि मैं एजेंट को बताने के लिए टीमसिटी में कोई रास्ता नहीं देख सकता इसे शामिल नहीं करना है। क्या इसे करना संभव है?
एक अपवाद इन्इंस्टाइज़रइज़र त्रुटि यह इंगित करने के लिए फेंक दिया गया है कि एक स्थैतिक प्रारंभकर्ता के मूल्यांकन के दौरान एक अपवाद हुआ या स्थिर चर के लिए प्रारंभकर्ता (देखें [यहां] (http://www.cin.ufpe.br/~java/docs /langspechtml/javalang.doc.html))। शायद आप स्थिर ब्लॉक की कमी कर रहे हैं। – Seza
धन्यवाद, लेकिन यह यहां लागू नहीं होता है। "हैलो वर्ल्ड" प्रोग्राम जो विफल रहता है केवल System.out.println के साथ एक मुख्य विधि है। – GaZ
इसके बजाय \\ का उपयोग करें? लेकिन अगर यह जावा 7 पर एक नई समस्या है, तो यह एक बग – irreputable