ColdFusion 8 JavaLoader LingPipe или OpenNLP, как мне его инициализировать? - PullRequest
0 голосов
/ 05 апреля 2011

Я использую JavaLoader.cfc. Я использовал его раньше, но мне трудно понять, как заставить одну из этих библиотек отвечать мне.

Я поместил JAR-файлы в свою папку java. Я создал объект "JavaLoader" и передал ему "пути". Но он все время говорит, что не может найти имена классов в jar-файлах или что-то в этом роде ...

Запрошенный класс не найден. Запрашиваемый класс opennlp.tools.sentdetect не удалось найти в загруженном банки / каталоги.

Я понимаю, что я полный n00b, когда дело доходит до Java и как связать это с ColdFusion. Я уверен, что это что-то глупое, если бы я ЗНАЛ, что я мог бы использовать любой файл JAR в моем распоряжении ...

Пожалуйста, помогите, если можете!

Ответы [ 3 ]

0 голосов
/ 06 апреля 2011

Я проверил javadocs OpenNLP здесь , и кажется, что opennlp.tools.sentdetect не имеет конструктора, поэтому он возвращает ошибку. Какой метод вы хотите вызвать?

Я сделал простой пример для определения предложений, но для этого вам нужна английская модель здесь :

<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#">

Веселись! : -)

0 голосов
/ 06 апреля 2011

Ваша проблема может быть просто на пути к JAR. Также убедитесь, что вы передаете путь к файлу JAR в виде строки в массиве.

Совет 1: Вам не нужно помещать файл в папку Java. JavaLoader дает вам возможность разместить файл JAR в любом каталоге (возможно, в корне приложения). В противном случае вы также можете не использовать JavaLoader и просто поместить файлы JAR в путь к классу JVM.

Совет 2. Обязательно инициализируйте JavaLoader в области сервера, так как это значительно сократит ваши накладные расходы.

0 голосов
/ 06 апреля 2011

Здесь также нет специалиста по Java, но я заставил работать POI, следуя инструкциям Rays здесь Есть две статьи.Он охватывает настройку Javaloader

...