我正在尝试运行一个web服务,它将为将句子解析为RDF三元组提供接口。到目前为止,我能够用一个控制器运行简单的spring应用程序,并展示神奇的"Hello“。
我在添加CoreNLP时遇到了一个问题。
SEVERE: Adding annotator tokenize
SEVERE: Adding annotator ssplit
SEVERE: Adding annotator pos
SEVERE: Reading POS tagger model from edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger
SEVERE: ...
SEVERE: done [1,2 sec].
SEVERE: Adding annotator lemma
SEVERE: Adding annotator ner
SEVERE: Loading classifier from edu/stanford/nlp/models/ner/english.all.3class.distsim.crf.ser.gz
SEVERE: ...
SEVERE: done [4,0 sec].
SEVERE: Loading classifier from edu/stanford/nlp/models/ner/english.muc.7class.distsim.crf.ser.gz
SEVERE: ...
WARNING: StandardWrapperValve[dispatcher]: Servlet.service() for servlet dispatcher threw exception
java.lang.OutOfMemoryError: Java heap space正如这里所提到的,http://nlp.stanford.edu/software/parser-faq.shtml num。6我尝试设置VM选项-Xmx4g:右键单击项目->属性-> Configurations -> Add。我创建了新的配置run.args.extra=-Xmx4g
编辑1
所以我运行jsp逗号,我不知道它意味着什么。我拿到了这个:
1268 Jps -Denv.class.path=.;C:\Program Files (x86)\Java\jre7\lib\ext\QTJava.zip -Dapplication.home=C:\Program Files\Java\jdk1.7.0_17 -Xms8m
7496 -Dnetbeans.importclass=org.netbeans.upgrade.AutoUpgrade -Dnetbeans.accept_license_class=org.netbeans.license.AcceptLicense -client -Xss2m -Xms32
m -XX:PermSize=32m -Dapple.laf.useScreenMenuBar=true -Dapple.awt.graphics.UseQuartz=true -Dsun.java2d.noddraw=true -Dsun.java2d.dpiaware=true -Dsun.zi
p.disableMemoryMapping=true -Xmx1024m -XX:MaxPermSize=384m -Djdk.home=C:\Program Files\Java\jdk1.7.0_17 -Dnetbeans.home=C:\Program Files\NetBeans 8.0.
1\platform -Dnetbeans.user=C:\Users\majernikm\AppData\Roaming\NetBeans\8.0.1 -Dnetbeans.default_userdir_root=C:\Users\majernikm\AppData\Roaming\NetBea
ns -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=C:\Users\majernikm\AppData\Roaming\NetBeans\8.0.1\var\log\heapdump.hprof -Dsun.awt.keepWorkingSetO
nMinimize=true -Dnetbeans.dirs=C:\Program Files\NetBeans 8.0.1\nb;C:\Program Files\NetBeans 8.0.1\ergonomics;C:\Program Files\NetBeans 8.0.1\ide;C:\Pr
ogram Files\NetBeans 8.0.1\extide;C:\Program Files\NetBeans 8.0.1\java;C:\Program Files\NetBeans 8.0.1\apisupport;C:\Program Files
6596 Program
8612 NetworkServerControl -Dderby.system.home=C:\Users\majernikm\.netbeans-derby
6900 ASMain -XX:MaxPermSize=192m -Djava.awt.headless=true -Djdk.corba.allowOutputStreamSubclass=true -Djavax.xml.accessExternalSchema=all -Djavax.mana
gement.builder.initial=com.sun.enterprise.v3.admin.AppServerMBeanServerBuilder -XX:+UnlockDiagnosticVMOptions -Djava.endorsed.dirs=C:\Program Files\gl
assfish-4.1\glassfish/modules/endorsed;C:\Program Files\glassfish-4.1\glassfish/lib/endorsed -Djava.security.policy=C:\Program Files\glassfish-4.1\gla
ssfish\domains\domain1/config/server.policy -Djava.security.auth.login.config=C:\Program Files\glassfish-4.1\glassfish\domains\domain1/config/login.co
nf -Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as -Xmx512m -Djavax.net.ssl.keyStore=C:\Program Files\glassfish-4.1\glassfish\domains\domain1
/config/keystore.jks -Djavax.net.ssl.trustStore=C:\Program Files\glassfish-4.1\glassfish\domains\domain1/config/cacerts.jks -Djava.ext.dirs=C:\Program
Files\Java\jdk1.7.0_17/lib/ext;C:\Program Files\Java\jdk1.7.0_17/jre/lib/ext;C:\Program Files\glassfish-4.1\glassfish\domains\domain1/l编辑2-应答
在(我的例子是)中,解决方案是将Glassfish转换为Tomcat,它开始工作了:)。非常感谢大家的帮助。
有人能帮我吗?
非常感谢。
米哈尔
发布于 2014-10-31 07:43:50
您正在使用Stanford,它占用了太多的堆大小,主要是NER。只需重新启动netbean并以1024的倍数分配堆内存,我使用了-Xmx4096M堆大小的代码并工作了。
就像-Xmx4096M or -Xmx5120M
发布于 2014-10-31 09:52:49
在我的例子中,解决方案是将Glassfish转换为Tomcat,并且它开始工作了:)。非常感谢大家的帮助
https://stackoverflow.com/questions/26669540
复制相似问题