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

ColdFusion 8 JavaLoader LingPipe或OpenNLP,如何初始化它?,coldfusion,Coldfusion,我正在使用JavaLoader.cfc。我以前使用过它,但我很难理解如何让这些库中的一个响应我 我已将JAR文件放入我的java文件夹中。我已经创建了“JavaLoader”对象,并将“路径”传递给它。但是它一直在说它在jar文件中找不到类名或者类似的东西 找不到请求的类。请求的类 在加载的文件中找不到opennlp.tools.sentdetect jar/目录 谈到Java以及如何将其与ColdFusion结合起来,我认识到我完全是一个n00b。我敢肯定,如果我知道我可以使用任何JAR文件来

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

我已将JAR文件放入我的java文件夹中。我已经创建了“JavaLoader”对象,并将“路径”传递给它。但是它一直在说它在jar文件中找不到类名或者类似的东西

找不到请求的类。请求的类 在加载的文件中找不到opennlp.tools.sentdetect jar/目录

谈到Java以及如何将其与ColdFusion结合起来,我认识到我完全是一个n00b。我敢肯定,如果我知道我可以使用任何JAR文件来处理,那一定是件愚蠢的事情


如果可以的话,请帮忙

这里也没有Java专家,但我确实是按照Rays的说明让POI工作的。这里有两篇文章。他介绍了如何设置Javaloader

我检查了OpenNLP javadocs,似乎OpenNLP.tools.sentdetect没有构造函数,所以它返回了一个错误。您想调用哪个方法

我已经做了一个简单的示例来检测句子,但为此,您需要提供英语模型:


//加载NLP jar库
sourcepath=[expandPath(“opennlp-tools-1.5.0\opennlp-tools-1.5.0.jar”)、expandPath(“opennlp-tools-1.5.0\lib\maxent-3.0.jar”)、expandPath(“opennlp-tools-1.5.0\lib\jwnl-1.3.3.jar”);
javaloader=createObject(“组件”、“javaloader.javaloader”).init(源路径);
//加载我们的模型(此处为英文模型)
//您可以使用TrainerTool创建自己的模型
inputFile=ExpandPath(“en sent.bin”);
modelIn=createObject(“java”,“java.io.FileInputStream”).init(inputFile);
model=javaloader.create(“opennlp.tools.sentdetect.SentenceModel”).init(modelIn);
//让我们试试句子检测器
sentenceDetector=javaloader.create(“opennlp.tools.sentdetect.SentenceDetectorME”).init(模型);
sentDetect(“我喜欢在ColdFusion中使用Java!CF rocks,真的!但有时使用Java库有点棘手:-”);

玩得开心!:-)

您的问题可能就在JAR的路径中。还要确保您正在以数组中的字符串形式传递JAR文件的路径

提示1:您不需要将文件放在java文件夹中。能够将JAR文件放在任何目录中(可能是应用程序根目录),这是JavaLoader赋予您的能力。否则,您最好不要使用JavaLoader,而是将JAR文件放在JVM类路径中


提示2:确保将JavaLoader初始化到服务器范围内,因为这将大大减少您的开销。

如果您共享代码来加载JavaLoader并初始化它,以及您传递的路径中包含的Jar文件,这将有所帮助。这正是我所需要的。你好!似乎
opennlp.tools.sentdetect
没有构造函数,更具体地说,它不是一个实际的类,这就是它不能工作的原因
createObject
需要到的完整路径。
<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#">