在ColdBox / Lucee中加载/使用jsoup的问题

时间:2018-02-13 02:16:15

标签: coldfusion jsoup

关于与我类似的问题有很多帖子,但没有一个有帮助。不确定我做错了什么。我试图使用this.applicationSettings加载jsoup jar,我一直收到错误。具体做法是:

的Application.cfc:

this.javaSettings = { 
    loadPaths = [ ".\lib" ], 
    loadColdFusionClassPath = true, 
    reloadOnChange= false 
};

是的,jsoup-1.11.2.jar位于该应用程序的\ lib中。我试过\ lib \呢;没有快乐。

但每次我尝试使用

myJsoup = createObject("java", "org.jsoup.Jsoup");

myJsoup = createObject("java", "org.jsoup.Jsoup").init();

我收到错误,

cannot load class through its string name, because no definition for the class with the specified name [org.jsoup.Jsoup] could be found

将init代码放在哪个函数 - 处理程序或模型中 - 或者如果我将它放在cfscript或cfset中无关紧要。我甚至可以把它放在index.cfm中,但仍然会得到同样的错误。无论重启或重启多少次都没关系。好像ColdBox和/或Lucee只是拒绝承认jar文件或其他东西的存在。是什么给了什么?

我肯定会感谢任何提示!提前谢谢!

1 个答案:

答案 0 :(得分:2)

我不确定这是不是一般的错误文档,这是我自己理解的缺点,或者仅仅是ColdFusion和Lucee中的错误...

我整理了一个简单的测试并重新创建了你在两个引擎中看到的东西。我原先认为Lucee中的路径一定存在问题,但ACF会产生同样的错误。

查看我使用的现有代码,似乎我总是填充JAR / Class文件的完整路径。

我经常做这样的事情(有效)来加载/lib目录中的所有内容:

this.javaSettings.loadPaths = directoryList(expandPath("/lib"));

然后将值设置为[ "/mypath/lib/jsoup-1.11.2.jar" ]