ColdFusion 8 JavaLoader LingPipe或OpenNLP,我该如何初始化它?

时间:2011-04-05 18:43:47

标签: coldfusion

我正在使用JavaLoader.cfc。我之前使用过它,但我很难理解如何让这些库中的一个响应我。

我已将JAR文件放入我的java文件夹中。我创建了“JavaLoader”对象并将“路径”传递给它。但它一直说它无法在jar文件中找到类名或沿着那些行找到...

  

找不到请求的课程。请求的课程   在加载中找不到opennlp.tools.sentdetect   罐子/目录。

我认识到,对于Java以及如何将其与ColdFusion联系起来,我总是n00b。我确定这是一件很蠢的事情,如果我知道我可能会使用任何JAR文件......

如果可以,请帮忙!

3 个答案:

答案 0 :(得分:0)

此处也没有Java专家,但我确实通过遵循光线说明here让POI工作。有两篇文章。他介绍了如何设置Javaloader

答案 1 :(得分:0)

我检查了OpenNLP javadocs here,似乎 opennlp.tools.sentdetect 没有构造函数,这就是它返回错误的原因。你想打电话给哪种方法?

我做了一个简单的例子来检测句子,但为此你需要提供英语模型here

<cfscript>
// load NLP jar libraries
sourcePaths = [expandPath("opennlp-tools-1.5.0\opennlp-tools-1.5.0.jar"),expandPath("opennlp-tools-1.5.0\lib\maxent-3.0.0.jar"),expandPath("opennlp-tools-1.5.0\lib\jwnl-1.3.3.jar")];
javaloader = createObject("component", "javaloader.JavaLoader").init(sourcePaths);

// load our model (here english model)
// you can create your own model using the TrainerTool
inputFile = ExpandPath("en-sent.bin");
modelIn = createObject("java", "java.io.FileInputStream").init(inputFile);
model = javaloader.create("opennlp.tools.sentdetect.SentenceModel").init(modelIn);

// let's try the sentence detector
sentenceDetector = javaloader.create("opennlp.tools.sentdetect.SentenceDetectorME").init(model);
sentences = sentenceDetector.sentDetect("I love working with Java in ColdFusion! CF rocks, really! But sometimes working with Java libraries is a bit tricky :-)");
</cfscript>

<cfdump var="#sentences#">

玩得开心! : - )

答案 2 :(得分:0)

您的问题可能只是在JAR的路径中。还要确保您将路径作为数组中的字符串传递给JAR文件。

提示1:您不需要将文件放在java文件夹中。能够将JAR文件放在任何目录(可能是应用程序根目录)中,JavaLoader为您提供了强大的功能。否则,您也可以不使用JavaLoader,只需将JAR文件放入JVM类路径中。

提示2:确保将JavaLoader初始化到服务器范围内,因为它会大大降低您的开销。