ColdFusion/Java Class not found Excepción
classnotfoundexception opencsv (1)
Estoy intentando analizar un archivo CSV con Coldfusion y JavaLibrary. Encontré algunos ejemplos, pero parece que ColdFusion no puede encontrar el Jar-File.
Este es mi Código:
<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>
y este es el mensaje de error:
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......
Estoy usando la biblioteca de Opencsv . El archivo jar está en la siguiente carpeta:
wwwroot / WEB-INF / lib
También reinicié el servidor varias veces.
¡Gracias por tu ayuda!
Descargué el archivo jar de Opencsv y parece que podría estar haciendo una referencia incorrecta.
En lugar de esto:
csvReader = createObject("java","au.com.bytecode.opencsv.CSVReader");
Prueba esto:
csvReader = createObject("java","com.opencsv.CSVReader");
Estaba viendo la última versión, 3.3, pero supongo que eso no ha cambiado.
De los comentarios (mi suposición era incorrecta)
Como señaló Leigh en los comentarios, las versiones anteriores de la biblioteca de Opencsv usaban un nombre de paquete diferente de la última versión. Las versiones anteriores usaban au.com.bytecode.opencsv
pero las versiones nuevas usan com.opencsv
.