【问题标题】:Issue with JavaLoader while loading jsoup加载 jsoup 时出现 JavaLoader 问题
【发布时间】:2014-04-06 18:22:54
【问题描述】:

我正在尝试使用JavaLoader 加载jsoup,但出现启动错误:

<cfscript>
// An Array with absolute file paths of the referred jar files.
paths = expandPath("jars/jsoup-1.7.3.jar");
//Creating a java loader object by passing in the array containing the file paths -
loaderObj =createObject("component","javaloader.JavaLoader").init([expandPath('jars/jsoup-1.7.3.jar')]);
//So now, we can simply create a instance of an object from the 'bmw' and 'pulsar' class.
writedump(loaderObj);
abort;
jsoup = loaderObj.create("org.jsoup.Jsoup");
</cfscript>

对象实例化异常。
找不到类:org.jsoup.Jsoup

【问题讨论】:

    标签: java coldfusion jsoup


    【解决方案1】:

    错误“Class not found”表示Javaloader找不到请求的类。

    这表明expandPath('jars/jsoup-1.7.3.jar') 没有解析到该文件的正确位置。

    要查看它的位置,只需将其转储即可:

    writeDump( expandPath('jars/jsoup-1.7.3.jar') );
    

    这将告诉您 JavaLoader 被告知要查看的位置,因此您可以将现有的 jsoup jar 文件移动到该位置,或者更新路径以指向 jar 文件当前所在的位置。

    根据您的应用程序,您可能会发现将/jars 设置为映射很有用,因此您可以参考/jars/jsoup-1.7.3.jar 并知道该映射将用于解析路径。

    【讨论】:

    • 路径是正确的,即使我转储了这个writedump(loaderObj);,我也看到了用于 javaloader 的方法。但它没有选择 jsoup
    • 如果路径绝对正确,请确保运行 CF 的用户具有该文件的权限。
    • 我在本地运行,所以我认为问题出在 org.jsoup.Jsoup
    • 错误“Class not found”表示Javaloader找不到请求的类。由于“org.jsoup.Jsoup”是正确的类名,问题在于 JavaLoader 无法访问 jar 文件 - 由于权限或文件不存在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多