使用Dart:IO进程类运行jar文件?
为什么这段代码不返回任何结果使用Dart:IO进程类运行jar文件?,dart,Dart,为什么这段代码不返回任何结果 Process.run('java', ['-mx300m -classpath stanford-postagger/stanford-postagger.jar edu.stanford.nlp.tagger.maxent.MaxentTagger -model stanford-postagger/models/wsj-0-18-bidirectional-nodistsim.tagger -textFile stanford-postagger/sample
Process.run('java', ['-mx300m -classpath stanford-postagger/stanford-postagger.jar edu.stanford.nlp.tagger.maxent.MaxentTagger -model stanford-postagger/models/wsj-0-18-bidirectional-nodistsim.tagger -textFile stanford-postagger/sample-input.txt']).then((ProcessResult results) {
print(results.stdout);
});
当代码被执行时,我也没有得到任何错误 这似乎是一个常见的Java错误。最好将最小和最大堆大小设置为相同的值。在任何情况下,都不要让最小堆大小超过最大堆大小 注意:
Process.run
的第二个参数是数组。对每个命令行参数使用一个元素,而不是只包含一个长字符串的数组
Process.run('java', [
'-Xms300m', // Set minimum and maximum heap size to the same value
'-Xmx300m', // Set minimum and maximum heap size to the same value
'-classpath',
'stanford-postagger/stanford-postagger.jar',
'edu.stanford.nlp.tagger.maxent.MaxentTagger',
'-model',
'stanford-postagger/models/wsj-0-18-bidirectional-nodistsim.tagger',
'-textFile',
'stanford-postagger/sample-input.txt'
]).then((ProcessResult results) {
print(results.stdout);
print(results.stderr);
})
.catchError((e) {
print(e);
});
您应该通过.I添加.catchError((e)=>print(e))来处理错误;但没有发现任何错误@CedXAlso,在
处理程序中添加对print(results.stderr)
的调用,然后添加处理程序。您是否有results.stderr
或catchError
处理程序的任何输出?@Cedx是。现在我得到了以下结果:无效的最大堆大小:-Xmx300m-classpath stanford-postagger/stanford-postagger.jar edu.stanford.nlp.tagger.maxent.MaxentTagger-model stanford-postagger/models/wsj-0-18-bidirectional-nodistsim.tagger-textFile stanford-postagger/sample-input.txt错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。我添加了一个参数以将输出保存到文件,但出现未知参数错误。知道怎么回事吗?“>”stanford postagger/taged output.txt'`Nevermind。我在这里找到了我想要的: