开发者社区> 问答> 正文

FudanDNN-NLP在tomcat服务器上调用时找不到配置文件怎么办?

复旦大学中文分词器FudanDNN-NLP2.0以java application的方式调用没问题,出现了分词结果。
点击调用中文分词,结果如下:
screenshot
但是部署在tomcat7的本地服务器中时,在java web工程中调用分词器的代码时,控制台会报出:java.io.FileNotFoundException: confPreprocess.properties (系统找不到指定的路径。)的异常:
配置文件目录:
screenshot
我尝试过将conf文件夹中的文件use as source folder,然后通过getClass().getResource("/")+"conf/Preprocess.properties"的方式拼接文件路径,但这样做的话,仅仅在上面三行代码的分词器入口处不再出现找不到文件的错误,而分词器jar包中的类在调用的过程中会使用到conf文件夹下其他的配置文件,而那些配置文件访问时的路径无法直接更改。我现在能想到的办法只有找到分词器源代码来更改里面的文件访问路径,但是明显难度太大了。
哪位大神遇到过这个问题的,还请指导一下,非常感谢

展开
收起
落地花开啦 2016-06-03 18:51:29 3719 0
3 条回答
写回答
取消 提交回答
  • 博主你好,最近我在使用fudandnn-nlp的时候也遇到了一些问题,可不可以请教一下你呢?

    2019-07-17 19:27:06
    赞同 展开评论 打赏
  • 使用FudanDNN-NLP4.0就可以解决上述问题,下载地址:http://homepage.fudan.edu.cn/zhengxq/deeplearning/

    2019-07-17 19:27:06
    赞同 1 展开评论 打赏
  • 喜欢技术,喜欢努力的人

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

    2019-07-17 19:27:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS块储存产品全面解析 立即下载