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

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

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

有没有更好的方法来放置我的"en-parser-chunking.bin“文件?
发布于 2017-08-03 17:34:53
回答的第一个部分:
1)将en-parser-chunking.bin放入您的Eclipse项目的WebContent/WEB-INF/classes或WebContent/WEB-INF/resources文件夹中。这些目录允许WebappClassLoaderBase实例在web应用程序运行时从其中加载资源。
2)使用以下代码片段(为简洁起见):
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。
https://stackoverflow.com/questions/44429452
复制相似问题