在AWS弹性魔豆Sphinx4休息,工作dev的机器(Sphinx4 breaks on AWS E

2019-10-23 09:00发布

我创建了一个包CMU Sphinx4在servlet虚拟Maven项目。 依赖关系是sphinx4-core:1.0-SNAPSHOTsphinx4-data:1.0-SNAPSHOT 。 当本地运行(Eclipse中),它的伟大工程,但后来我把它部署到AWS弹性魔豆,我得到以下异常:

Property exception component:'null' property:'null' - java.io.FileNotFoundException: JAR entry edu/cmu/sphinx/models/en-us/en-us//means not found in /var/lib/tomcat8/webapps/ROOT/WEB-INF/lib/sphinx4-data-1.0-SNAPSHOT.jar 
edu.cmu.sphinx.util.props.PropertyException: java.io.FileNotFoundException: JAR entry edu/cmu/sphinx/models/en-us/en-us//means not found in /var/lib/tomcat8/webapps/ROOT/WEB-INF/lib/sphinx4-data-1.0-SNAPSHOT.jar

Caused by: java.io.FileNotFoundException: JAR entry edu/cmu/sphinx/models/en-us/en-us//means not found in /var/lib/tomcat8/webapps/ROOT/WEB-INF/lib/sphinx4-data-1.0-SNAPSHOT.jar

我怀疑它是双斜线在那里,但我无法解释为什么它不是我的开发机(OSX)上发生。

谢谢!

编辑:

我的开发机:OSX运行Eclipse月神与AWS插件。 我使用的是J2EE项目,一个servlet和基于Maven让狮身人面像的JAR(核心和数据)。 当我在我的dev的机器(8080端口)上运行的服务器我给它一个WAV文件通过POST消息,该文件被正确地加载和我得到的分析文本响应。

我PROD机:AWS弹性魔豆。 我使用部署AWS插件。 当我注释掉的代码的狮身人面像的一部分,该服务器的工作原理(即获取文件,并将其返回给我,等)

如果问题不是双斜杠,然后将瓶子没有被煮熟的权利。 这将使意义,因为它是要找的文件是不是class这样的Maven的JAR烹饪部分应被告知如何在包括它时,它部署使得JAR资源文件。

任何想法如何做到这一点?

再次感谢!

Answer 1:

双斜杠似乎在某些JVM上的一个问题,它的工作原理其他JVM。

我只是犯了一个更新,以避免双重斜线。 请更新sphinx4,然后再试一次。



Answer 2:

原来,问题是,我对Java 7的开发(OSX),并部署到AWS到Tomcat / Java的8.当我部署到Tomcat / Java 7中,一切都按预期。



文章来源: Sphinx4 breaks on AWS Elastic Beanstalk, works on dev machine