复旦中文分词器FudanDNN-NLP在tomcat服务器上调用时找不到配置文件怎么办

hellopada 发布于 2016/05/13 22:09
阅读 434
收藏 0

复旦大学中文分词器FudanDNN-NLP2.0以java application的方式调用没问题,出现了分词结果。

点击调用中文分词,结果如下:


但是部署在tomcat7的本地服务器中时,在java web工程中调用分词器的代码时,控制台会报出:java.io.FileNotFoundException: conf\Preprocess.properties (系统找不到指定的路径。)的异常:

配置文件目录:


错误相关代码:

我尝试过将conf文件夹中的文件use as source folder,然后通过getClass().getResource("/")+"conf/Preprocess.properties"的方式拼接文件路径,但这样做的话,仅仅在上面三行代码的分词器入口处不再出现找不到文件的错误,而分词器jar包中的类在调用的过程中会使用到conf文件夹下其他的配置文件,而那些配置文件访问时的路径无法直接更改。我现在能想到的办法只有找到分词器源代码来更改里面的文件访问路径,但是明显难度太大了

哪位大神遇到过这个问题的,还请指导一下,非常感谢


加载中
0
sprouting
sprouting

如果配置都正常的话,可以考虑下这个原因,

在 spring里使用org.mybatis.spring.mapper.MapperScannerConfigurer 进行自动扫描的时候,设置了sqlSessionFactory 的话,可能会导致PropertyPlaceholderConfigurer失效,也就是用${jdbc.username}这样之类的表达式,将无法 获取到properties文件里的内容。 导致这一原因是因为,MapperScannerConigurer实际是在解析加载bean定义阶段的,这个时候要是设置 sqlSessionFactory的话,会导致提前初始化一些类,这个时候,PropertyPlaceholderConfigurer还没来得及替 换定义中的变量,导致把表达式当作字符串复制了。 但如果不设置sqlSessionFactory 属性的话,就必须要保证sessionFactory在spring中名称一定要是sqlSessionFactory ,否则就无法自动注入。又或者直接定义 MapperFactoryBean ,再或者放弃自动代理接口方式。

http://my.oschina.net/sprouting/blog/674157



返回顶部
顶部