gpt4 book ai didi

java - 如何从 Coldfusion 2016 中加载 jsoup Java 库?

转载 作者:行者123 更新时间:2023-11-30 06:40:27 25 4
gpt4 key购买 nike

TLDR:CreateObject 函数抛出异常 (java.lang.ClassNotFoundException),因为它看不到 java 类/JAR 文件。

知道我做错了什么吗?谢谢


Application.cfc 的内容

<cfcomponent output="true">

<cfset path = "#Mid(CGI.CF_TEMPLATE_PATH, 1, FindNoCase("index.cfm", CGI.CF_TEMPLATE_PATH)-2)#/java/lib" />
<cfoutput>path: #path#</cfoutput>

<cftry>
<cfset This.javaSettings = {LoadPaths = ["#path#/", "#path#/java/lib/jsoup-1.12.1.jar", "./java/lib/", "./java/lib/jsoup-1.12.1.jar"], loadColdFusionClassPath = true, reloadOnChange = true}>

<cfset jsoup = CreateObject("java", "org.jsoup.Jsoup") />

<cfcatch type="any">
<cfdump var="#cfcatch#" />
</cfcatch>
</cftry>

<cfabort>
</cfcomponent>

JAR 文件位置

/Volumes/mydrive/work/myapp/java/lib/jsoup-1.12.1.jar

Application.cfc 中 cfoutput 的输出

path: /Volumes/mydrive/work/myapp/java/lib

最佳答案

@mrjayviper,我不确定你为什么在 loadPaths 数组中多次添加 jsoup-1.12.1.jar

以及您的 PATH = >/Volumes/mydrive/work/myapp/java/lib,但是您已经传递了 loadPaths 数组中的值,例如 #path#/java/lib/jsoup-1.12.1.jar. 那么它应该被认为是 /Volumes/mydrive/work/myapp/java/lib/java/lib/jsoup-1.12.1.jar所以这是完全错误的。这是你的问题的一个原因。

在这里,我希望通过我的示例应用程序为您提供一些更好的解决方案,

我的简单应用程序文件结构如下所示,

  • Application.cfc : 只是普通的 Application.cfc 文件,它有this.javaSettings 加载JSOUP jar文件
  • index.cfm : 使用 jSoup 获取网页内容并执行解析操作的代码
  • jsoup-1.8.3.jar : 下载的 JSOUP jar 文件

enter image description here

然后你可以像下面这样在application.cfc文件中设置javaSetting

component {
this.name = "jSoupParser";
//Loads the JAR File
this.javaSettings = { loadPaths = [ "#expandPath('./jsoup-1.8.3.jar')#" ],
reloadOnChange = false };
}

您可以使用 expandPath() 并指出您当前的应用程序目录。然后你可以在你的 cfm 文件中创建一个对象,如下所示索引.cfm :

<cfset getJsoup = createObject("java", "org.jsoup.Jsoup")> 

希望对您有所帮助。如果您想对此进行更多解释/澄清,请访问以下链接。我的团队已经为这个 jSoup 提供了示例。 https://www.mitrahsoft.com/index.cfm/blog/ColdFusion-Web-scraping-HTML-Parsing-using-JSOUP .

关于java - 如何从 Coldfusion 2016 中加载 jsoup Java 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57968263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com