Sto tentando di analizzare un file CSV con Coldfusion e una libreria Java. Ho trovato alcuni esempi ma sembra che ColdFusion non riesca a trovare il Jar-File.ColdFusion/Classe Java non trovata Eccezione
Questo è il mio codice:
<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>
e questo è l'ErrorMessage:
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......
Sto usando la opencsv Library. il file jar si trova nella seguente cartella:
wwwroot/WEB-INF/lib
ho anche riavviato il server più volte.
Grazie per il vostro aiuto!
@noah - Sospetto che Miguel-F abbia colpito il chiodo sulla testa. Guardando all'origine, le versioni precedenti (2.2 ad esempio) utilizzavano un nome di pacchetto diverso, ad esempio "au.com.bytecode.opencsv". In [versioni più recenti] (http://sourceforge.net/p/opencsv/source/ci/release-3.2/tree/examples/AddressExample.java#l1) il nome del pacchetto è stato cambiato in 'com.opencsv'. Probabilmente stai usando uno dei nuovi jar, ma con il vecchio nome del pacchetto. Quindi perché non è stato trovato. Quanto sopra dovrebbe risolvere il problema. – Leigh
Come eseguire lo stesso snippet in "ram: ///"? Sono stato bloccato con esso. Sembra che fileReader non possa elaborare il percorso in memoria. – 84RR1573R