关于与我类似的问题有很多帖子,但没有一个有帮助。不确定我做错了什么。我试图使用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文件或其他东西的存在。是什么给了什么?
我肯定会感谢任何提示!提前谢谢!
答案 0 :(得分:2)
我不确定这是不是一般的错误文档,这是我自己理解的缺点,或者仅仅是ColdFusion和Lucee中的错误...
我整理了一个简单的测试并重新创建了你在两个引擎中看到的东西。我原先认为Lucee中的路径一定存在问题,但ACF会产生同样的错误。
查看我使用的现有代码,似乎我总是填充JAR / Class文件的完整路径。
我经常做这样的事情(有效)来加载/lib
目录中的所有内容:
this.javaSettings.loadPaths = directoryList(expandPath("/lib"));
然后将值设置为[ "/mypath/lib/jsoup-1.11.2.jar" ]
。