ColdFusion/Java Class 未找到异常
ColdFusion/Java Class not found Exception
我正在尝试使用 Coldfusion 和 JavaLibrary 解析 CSV 文件。我找到了一些示例,但 ColdFusion 似乎找不到 Jar 文件。
这是我的代码:
<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。
Jar 文件位于以下文件夹中:
wwwroot/WEB-INF/lib
我也多次重启了服务器。
感谢您的帮助!
我下载了 opencsv jar 文件,您可能引用不正确。
而不是这个:
csvReader = createObject("java","au.com.bytecode.opencsv.CSVReader");
试试这个:
csvReader = createObject("java","com.opencsv.CSVReader");
我正在查看最新版本 3.3,但我认为它没有改变。
来自评论(我的假设不正确)
正如 Leigh 在评论中指出的那样,旧版本的 opencsv 库使用了与最新版本不同的包名。旧版本使用 au.com.bytecode.opencsv
但新版本使用 com.opencsv
.
我正在尝试使用 Coldfusion 和 JavaLibrary 解析 CSV 文件。我找到了一些示例,但 ColdFusion 似乎找不到 Jar 文件。
这是我的代码:
<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。 Jar 文件位于以下文件夹中:
wwwroot/WEB-INF/lib
我也多次重启了服务器。
感谢您的帮助!
我下载了 opencsv jar 文件,您可能引用不正确。
而不是这个:
csvReader = createObject("java","au.com.bytecode.opencsv.CSVReader");
试试这个:
csvReader = createObject("java","com.opencsv.CSVReader");
我正在查看最新版本 3.3,但我认为它没有改变。
来自评论(我的假设不正确)
正如 Leigh 在评论中指出的那样,旧版本的 opencsv 库使用了与最新版本不同的包名。旧版本使用 au.com.bytecode.opencsv
但新版本使用 com.opencsv
.