Próbuję przetworzyć plik CSV z Coldfusion i biblioteką JavaLibrary. Znalazłem kilka przykładów, ale wygląda na to, że ColdFusion nie może znaleźć pliku Jar.Nie znaleziono klasy ColdFusion/Java Wyjątek
To jest mój kod:
<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>
i to jest 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......
Używam opencsv Library. słoika plik znajduje się w następującym folderze:
wwwroot/WEB-INF/lib
ja również wznowiona z serwera wiele razy.
Dzięki za pomoc!
@noah - Podejrzewam, że Miguel-F uderzył w gwóźdź w głowę. Patrząc na źródło, starsze wersje (na przykład 2.2) używały innej nazwy pakietu, np. 'Au.com.bytecode.opencsv'. W [nowszych wersjach] (http://sourceforge.net/p/opencsv/source/ci/release-3.2/tree/examples/AddressExample.java#l1) nazwa pakietu została zmieniona na 'com.opencsv'. Prawdopodobnie używasz jednego z nowszych słoików, ale ze starą nazwą pakietu. Z tego powodu nie można go znaleźć. Powyższe powinno rozwiązać problem. – Leigh
Jak uruchomić ten sam fragment w "ram: ///"? Utknąłem z tym. Wydaje się, że fileReader nie może przetworzyć ścieżki w pamięci. – 84RR1573R