मैं कोल्डफ्यूजन और जावा लाइब्रेरी के साथ एक CSV फ़ाइल को पार्स करने का प्रयास कर रहा हूं। मुझे कुछ उदाहरण मिले लेकिन ऐसा लगता है कि कोल्डफ्यूजन जार-फाइल नहीं ढूंढ सकता है।कोल्डफ्यूजन/जावा क्लास नहीं मिला अपवाद
यह मेरा कोड है:
<cfset t01= getTickCount()>
<cfscript>
fileReader = createobject("java","java.io.FileReader");
fileReader.init("C:\Dev\files.csv");
csvReader = createObject("java","au.com.bytecode.opencsv.CSVReader");
csvReader.init(fileReader, ",");
</cfscript>
<cfset t02= getTickCount()>
<cfset ArrayData = csvReader.readAll()>
<cfset t03= getTickCount()>
<cfoutput>
Process Data: #t02 - t01# ms
Display Dump: #t03 - t02# ms
<cfdump var="ArrayData"><cfabort />
</cfoutput>
और इस त्रुटिसंदेश है:
java.lang.ClassNotFoundException: au.com.bytecode.opencsv.CSVReader
at coldfusion.bootstrap.BootstrapClassLoader.loadClass(BootstrapClassLoader.java:235)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248).....more Stack blabla......
मैं opencsv Library उपयोग कर रहा हूँ। जार फ़ाइल निम्न फ़ोल्डर में है:
wwwroot/वेब-INF/lib
मैं भी सर्वर कई बार पुन: प्रारंभ।
आपकी मदद के लिए धन्यवाद!
@ नोहा - मुझे संदेह है कि मिगुएल-एफ ने सिर पर नाखून मारा। स्रोत को देखते हुए, पुराने संस्करण (उदाहरण के लिए 2.2) ने एक अलग पैकेज नाम यानी 'au.com.bytecode.opencsv' का उपयोग किया। [नए संस्करणों] में (http://sourceforge.net/p/opencsv/source/ci/release-3.2/tree/examples/AddressExample.java#l1) पैकेज का नाम 'com.opencsv' पर स्विच किया गया था। आप शायद नए जारों में से एक का उपयोग कर रहे हैं, लेकिन पुराने पैकेज नाम के साथ। इसलिए यह क्यों नहीं मिला है। उपर्युक्त समस्या को हल करना चाहिए। – Leigh
"राम: ///" में एक ही स्निपेट कैसे चलाएं? मैं इसके साथ अटक गया था। लगता है फ़ाइल रीडर मेमोरी पथ को संसाधित नहीं कर सकता है। – 84RR1573R