使用外部jar文件编译java程序

使用外部jar文件编译java程序,java,stanford-nlp,Java,Stanford Nlp,我正在使用standford core nlp软件包。它给出了一组jar文件和执行单元。我可以编译并运行几个测试示例 这里有一个示例java示例。 我成功地编译了以下内容: H:\Drive E\Stanford\stanfor-corenlp-full-2013~>javac -cp stanford-corenlp-3.3.0. jar;stanford-corenlp-3.3.0-javadoc.jar;stanford-corenlp-3.3.0-models.jar;stanfo

我正在使用standford core nlp软件包。它给出了一组jar文件和执行单元。我可以编译并运行几个测试示例

这里有一个示例java示例。 我成功地编译了以下内容:

H:\Drive E\Stanford\stanfor-corenlp-full-2013~>javac -cp stanford-corenlp-3.3.0.
jar;stanford-corenlp-3.3.0-javadoc.jar;stanford-corenlp-3.3.0-models.jar;stanfor
d-corenlp-3.3.0-sources.jar; StanfordCoreNlpDemo.java
当我运行它时:

H:\Drive E\Stanford\stanfor-corenlp-full-2013~>java -cp stanford-corenlp-3.3.0.
jar;stanford-corenlp-3.3.0-javadoc.jar;stanford-corenlp-3.3.0-models.jar;stanfor
d-corenlp-3.3.0-sources.jar; StanfordCoreNlpDemo
它提出了例外情况:

Searching for resource: StanfordCoreNLP.properties
Searching for resource: edu/stanford/nlp/pipeline/StanfordCoreNLP.properties
Adding annotator tokenize
Adding annotator ssplit
Adding annotator pos
Reading POS tagger model from edu/stanford/nlp/models/pos-tagger/english-left3wo
rds/english-left3words-distsim.tagger ... done [8.7 sec].
Adding annotator lemma
Adding annotator ner
Loading classifier from edu/stanford/nlp/models/ner/english.all.3class.distsim.c
rf.ser.gz ... Exception in thread "main" java.lang.OutOfMemoryError: Java heap s
pace
        at java.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:344
如何在命令行中分配内存以删除上述异常并执行它?

我可以成功地编译这两个

java -cp "*" -mx1g edu.stanford.nlp.sentiment.SentimentPipeline -file input.txt


您可以将其添加到命令行
-Xmx1024m
,这将为您的应用程序提供1GB的ram,但我建议您使用一个java堆profiller,如嵌入Netbeans的java堆profiller,以找出真正的问题。
你也可以参考那篇有更完整解释的帖子。

我相信我来不及回答你的问题,但这肯定会节省其他人的时间,我花了这些时间来了解StanfordCoreNlpDemo.java文件的执行情况

H:\Drive E\Stanford\stanfor-corenlp-full-2013~>java -cp stanford-corenlp-3.3.0.
jar;stanford-corenlp-3.3.0-javadoc.jar;stanford-corenlp-3.3.0-models.jar;stanfor
d-corenlp-3.3.0-sources.jar; -Xmx1200m StanfordCoreNlpDemo
对于2014年10月版的斯坦福核心nlp,;'(分号)应替换为“:”(冒号)
应该注意的是,最后一个“;”中需要一个空间以及上面java命令中的-Xmx选项。

我已经使用了netbeans,设置内存
xmx5006001000
,但从未成功过。有时15-20分钟内没有响应,或者内存堆外出现异常。谷歌搜索了很多关于如何执行该示例的信息,但没有发现幸运的是,如果您确实面临
OutOfMemory
异常,这意味着该示例的某个地方存在严重内存泄漏。尝试使用与netbeans集成的内存分析器来查看哪个对象使用了如此多的RAM,并为其提供真实内存<代码>java-Xmx4g…
H:\Drive E\Stanford\stanfor-corenlp-full-2013~>java -cp stanford-corenlp-3.3.0.
jar;stanford-corenlp-3.3.0-javadoc.jar;stanford-corenlp-3.3.0-models.jar;stanfor
d-corenlp-3.3.0-sources.jar; -Xmx1200m StanfordCoreNlpDemo