Я собираюсь добавить несколько разборов текста в мое приложение rails, и последние несколько дней ходил кругами в поисках каких-либо руководств или подсказок о том, как заставить это работать.
Я совершенно новичок в Java, но ничего похожего на прыжки обеими ногами.
Я подозреваю, что следующий код не принадлежит моему контроллеру и, скорее всего, должен быть в модели, но я просто проверяю, все ли части в нужном месте на этом этапе.
Я позаимствовал этот код из этого SO вопроса, реализующего пользовательский класс java в jruby , потому что у меня были проблемы с поиском любого примера кода.
#my requires/imports/includes, included multiple versions to be safe
require 'java'
#include Java
require '/media/sf_Ruby192/java_progs/parser/stanford-parser.jar'
#require '/media/sf_Ruby192/java_progs/parser/'
require 'rubygems'
include_class 'edu.stanford.nlp.parser.lexparser.LexicalizedParser'
class ParseController < ApplicationController
def index
lp = LexicalizedParser.new
#check if regular Java is working
list = java.util.ArrayList.new
a = "1"
b = "2"
list.add(a)
list.add(b)
d = list[0]
return render :text => list
end
end
к сожалению для меня, я получаю ошибку
java.lang.NullPointerException: null
, когда я включаю
lp = LexicalizedParser.new
я делаю ВСЕ неправильно?когда я закомментирую lp = ..., я получаю вывод списка, поэтому jruby работает, и я могу написать java в своем приложении rails и получить вывод.
Может кто-нибудь направить меня в правильном направлении, может, скажет мне, что не так с этим кусочком кода, но, надеюсь, на самом деле объяснит мне, как я должен работать с jruby и rails.Надеюсь, что-то получится и о Stanford Parser (я знаю, это много, чтобы спросить).Кажется, очень мало документации и примеров кода, которые я нашел.