首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加载“ParserModel”,以及在我的Web应用程序中放置"en-parser-chunking.bin“文件的位置?

如何加载“ParserModel”,以及在我的Web应用程序中放置"en-parser-chunking.bin“文件的位置?
EN

Stack Overflow用户
提问于 2017-06-08 15:36:31
回答 1查看 289关注 0票数 0

我在运行我的java web应用程序时遇到一个错误。我有一个servlet类和一个用于Apache openNLP文本分析的类。当我运行我的代码(将表单数据提交给servlet)时,我在浏览器中得到以下错误代码

它还在eclipse控制台中显示了下面的异常详细信息。

下面是我的项目结构,我将"en-parser-chunking.bin“文件放在突出显示的区域。

有没有更好的方法来放置我的"en-parser-chunking.bin“文件?

EN

回答 1

Stack Overflow用户

发布于 2017-08-03 17:34:53

回答的第一个部分:

1)将en-parser-chunking.bin放入您的Eclipse项目的WebContent/WEB-INF/classesWebContent/WEB-INF/resources文件夹中。这些目录允许WebappClassLoaderBase实例在web应用程序运行时从其中加载资源。

2)使用以下代码片段(为简洁起见):

代码语言:javascript
复制
String parserModelPath = "/WEB-INF/resources/en-parser-chunker.bin";
ParserModel model = new ParserModel(servletContext.getResourceAsStream(parserModelPath));

if(model!=null) {
    // From here, <model> is initialized and you can start playing with it...
    // Creating a parser
    Parser parser = ParserFactory.create(model);
    // Parse some things here 
    // ...
}

您应该在运行时获得一个有效的Parser。有关参考,请参阅ServletContext#getResourceAsStream的JavaDoc和此StackOverflow post

答案的第二个部分:

1)将opennlp-tools-<opennlp-version>.jar文件放入WebContent/WEB-INF/lib中,或者在项目设置的Web应用的类路径中引用它。因此,可以在项目运行时加载和使用库及其类,如opennlp.tools.parser.ParserModel

2)重新捆绑您的war归档,并将其重新部署到Tomcat的webapps目录中。

希望它能帮上忙,也可以看看我的similar answer

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44429452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档