事实API和冷扩散



我采用了Factual API的java实现(参考http://developer.factual.com/)并制作了一个事实的JAR文件。为此,我在eclipse中打开了一个带有实际java文件的新项目,然后导出到一个新的jar文件。

我把jar文件放在coldfusion安装的/WEB-INF/lib/文件夹中。

在重新启动Coldfusion之后,我尝试创建一个新的cfobject,比如so

<cfscript>
     // Initialize the Java class. 
     factualClass=CreateObject("java", "src.main.java.com.factual.driver.Factual"); 
</cfscript>

我收到一个错误,指示它找不到Factual类。

有人能给我一些指导吗?

(评论摘要)

听起来,您可能正在导出源文件(即*.java),而不是已编译的类文件(即*.class)。在Jar导出向导中,请确保选择"导出生成的类文件和资源"选项。(要在expi之前自动编译项目源,请启用设置:JAR packaging>Build projects if not Build automatically选项)。如果您愿意,也可以在MVN存储库中找到预编译的jar。

将该jar文件放在我的coldfusion安装的/WEB-INF/lib中/文件夹

CF10+还支持通过新的应用程序级别设置THIS.javaSettings动态加载类。

 // Initialize the Java class. 
 factualClass=CreateObject("java", "src.main.java.com.factual.driver.Factual");

作为一个兴趣点,src/main/java/实际上并不是库类名的一部分。它是Maven项目中使用的标准目录结构。它可能在导出源时包含,但不包含已编译的类。

您总是可以通过检查API即javadocs或查看其中一个源文件来验证正确的路径和类名。包声明总是在源文件的顶部,例如在src/main/java.com/facture/driver/factual.java的第1行:

     package com.factual.driver; // ie "com.factual.driver"

以及第39行的类声明。

     public class Factual {   // ie "Factual"

组合后,可以为您提供与createObject:一起使用的确切(区分大小写)路径

     factualClass=CreateObject("java", "com.factual.driver.Factual");

相关内容

  • 没有找到相关文章

最新更新