java - ColdFusion/Java 类未找到异常

标签 java coldfusion classnotfoundexception 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

关于java - ColdFusion/Java 类未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29691084/

相关文章:

java - 如何访问在 Spring 类级别指定的 Controller 的 PathVariable?

java - 快速计算两个算术级数的交点

coldfusion - 输出创建不需要的空白

java - Hadoop中的ClassNotFoundException

java - 按下后退按钮时自定义警报对话框消失

java - 如何理解我的类的属性是否发生了变化

android - 使用 okhttp-3.12.0 Android 时未找到类 "kotlin.text.Charsets"错误

php - Laravel 版本 5.4 未找到类 '\App\User::class'

jquery - 让 Coldfusion 解析 json 请求

sql - 查询的 Coldfusion 查询