gpt4 book ai didi

java - 通过 ColdFusion 访问 JNI DLL 中的功能

转载 作者:行者123 更新时间:2023-11-30 05:00:03 24 4
gpt4 key购买 nike

我尝试使用 ColdFusion 中的 CreateObject 函数通过 JNI 访问 DLL 中的功能。我已经设法让 ColdFusion 使用 java.lang.System.load 函数加载 DLL,但我不确定如何访问此方法中包含的函数。

我当前的代码:

<cfset CreateObject("java","java.lang.System").load("C://Path//To//JniDll.dll")> 
<cfset JniObject = CreateObject("java","Organisation.product.package")>

在第 2 行失败并出现错误

Object Instantiation Exception. 
Class not found Organisation.product.package

我可能错误地访问了这些方法,但在网络上找不到有关在 ColdFusion 中使用 JNI 的任何信息。

感谢您的帮助,

汤姆

最佳答案

据我所知,仅通过注册您将无法访问该 DLL 中的方法。要么您获得一个 Java 包装器(可能作为 JAR),然后它将使用 DLL,要么您必须查看 DLL 公开的 COM 接口(interface)并通过 createobject(type="COM") 调用它们,正如其他人所建议的那样。

从代码和错误的外观来看,您期望存在一个 Java 类 Organization.product.package,而 CF 看不到它,所以我会在 CF 管理器中查看一下,看看哪些路径在你的类路径中。将 JAR(我假设您已将其放入 CF 的 lib 文件夹中)放入 CF 的 lib 文件夹中,然后重新启动 CF,看看这是否会产生影响。

关于java - 通过 ColdFusion 访问 JNI DLL 中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7096464/

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