Я пытаюсь проанализировать файл CSV с Coldfusion и JavaLibrary. Я нашел несколько примеров, но кажется, что ColdFusion не может найти Jar-File.ColdFusion/Java Класс не найден Исключение
Это мой код:
<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>
и это 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......
Я использую opencsv Library. Jar Файл находится в следующей папке:
Wwwroot/WEB-INF/Библиотека
Я также повторил старт несколько раз Server.
Благодарим за помощь!
@noah - Подозреваю, что Мигель-F ударил ноготь по голове. Если посмотреть на источник, более старые версии (например, 2.2) использовали другое имя пакета, то есть 'au.com.bytecode.opencsv'. В [более новых версиях] (http://sourceforge.net/p/opencsv/source/ci/release-3.2/tree/examples/AddressExample.java#l1) имя пакета было переключено на 'com.opencsv'. Вероятно, вы используете один из более новых банок, но со старым именем пакета. Следовательно, почему он не найден. Вышеупомянутое должно решить проблему. – Leigh
Как запустить такой же фрагмент в "ram: ///"? Я застрял в этом. Похоже, fileReader не может обрабатывать путь в памяти. – 84RR1573R