1

Я создал манекен Maven проект, который обертывает CMU Sphinx4 в сервлете. Зависимости: sphinx4-core:1.0-SNAPSHOT и sphinx4-data:1.0-SNAPSHOT. При работе на местном уровне (Eclipse), он прекрасно работает, но потом развернуть его на AWS Elastic Beanstalk, и я получаю следующее исключение:Sphinx4 разбивается на AWS Elastic Beanstalk, работает на dev машине

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 

Я подозреваю, это что двойной слеш там, но я не могу объяснить, почему это не происходят на моей машине dev (OSX).

спасибо!

Edit:

Моя DEV машина: OSX работает Eclipse, Luna с AWS плагин. Я использую проект J2EE с одним сервлетом и получаю JAR Sphinx (данные ядра &) через Maven. Когда я запускаю сервер в своей машине dev (порт 8080), я передаю его WAV-файл через сообщение POST, файл загружается правильно, и я получаю анализ в виде текстового ответа.

Машина для мойки: AWS Эластичный бобовый стебель. Я использую плагин AWS. Когда я комментирую часть кода Sphinx, сервер работает (т. Е. Получает файл и возвращает его мне и т. Д.)

Если проблема не в двойной косой черте, тогда JAR не обрабатываются правильно , Это имело бы смысл, так как файл, который он ищет, не является class, поэтому в части JAR для приготовления пищи Maven должно быть сказано, как включать файлы ресурсов в JAR, которые он делает при развертывании.

Любая идея, как это сделать?

Еще раз спасибо!

+0

Когда вы говорите «работает локально», что вы имеете в виду? Как вы запустили его локально? Как вы применили его к beanstalk? –

+0

Двойной косой черт, скорее всего, не проблема, так как POSIX рассматривает две черты как одну. –

+0

FYI. Убедитесь, что при упаковке приложения в виде банки в Eclipse вы используете *** Copy Required Libraries в подпапку рядом с опцией egnerated jar ***. В противном случае вы не сможете найти ресурс/Ошибка файла не найдена. –

ответ

1

Двойная косая черта, похоже, является проблемой для некоторых JVM, на других JVM она работает.

Я только что совершил обновление, чтобы избежать двойных косых черт. Обновите sphinx4 и повторите попытку.

+0

Спасибо! Моя проблема всплыла на Sphix3Loader; была конкатенация местоположения + слэш + путь. Надеюсь это поможет. – Dan

0

Оказывается, проблема заключалась в разработке (OSX) на Java 7 и развертывании в AWS для Tomcat/Java 8. После развертывания в Tomcat/Java 7 все работало, как ожидалось.

Смежные вопросы