Установленный omegaT от Центра программного обеспечения (Ubuntu 12.04). Когда я пытаюсь запустить его, я просто получаю сообщение об ошибке:
Подходящий двоичный файл Java, не найденный.
Вывод Java - версия:
Java(TM) SE Runtime Environment версии "1.7.0_55" Java (создают 1.7.0_55-b13), Java HotSpot(TM) Server VM (сборка 24.55-b03, смешанный режим)
У кого-либо есть какие-либо идеи?
Спасибо
Peter
Отказ с omegat сценарием оболочки, который пытается узнать версию Java. Сценарий, как предполагается, запускает программу, только если это находит openjdk или реализацию Java солнца на машине. Для этого это пытается посмотреть на путь, где Java установлен с помощью ниже строки:
JAVA=$(which java | xargs readlink -f)
Тогда проверки, содержит ли "путь" имя openjdk или солнце в нем
echo "$JAVA" | grep -q -e '\(openjdk\|sun\)'
Теперь, вот являются проблемой. Вы не можете всегда устанавливать Java в местоположении, имеющем имя "солнце" в нем, как в моем случае это было в /usr/local/java/jdk1.7.0_07/bin/java
.
Так, решение находится в простом исправлении этого сценария, поскольку у Вас уже ЕСТЬ подходящая установленная версия Java.
Вот является моя работа/usr/bin/omegat файлом.
#!/bin/sh
JAVA_OPTIONS='-Djava.library.path=/usr/lib/jni'
JAVA=$(which java | xargs readlink -f)
echo "$JAVA" | grep -q -e '\(openjdk\|sun\)'
#CHANGE 1, just use your java here.
JAVABIN=$JAVA
if [ $? -eq 0 ]
then
JAVABIN=$JAVA
elif [ -x /usr/lib/jvm/java-6-openjdk/bin/java ]
then
JAVABIN="/usr/lib/jvm/java-6-openjdk/bin/java"
elif [ -x /usr/lib/jvm/java-6-sun/bin/java ]
then
JAVABIN="/usr/lib/jvm/java-6-sun/bin/java"
elif [ -x /usr/lib/jvm/java-1.5.0-sun/bin/java ]
then
JAVABIN="/usr/lib/jvm/java-1.5.0-sun/bin/java"
else
echo "Suitable java binary not found."
#CHANGE 1, comment out the exit line below.
# exit 1
fi
exec $JAVABIN $JAVA_OPTIONS -jar /usr/share/omegat/OmegaT.jar $*
Уведомление 2 "#CHANGE" строки в сценарии. Ах да необходимо отредактировать файл как корень.
У меня есть та же проблема. Я нашел это: http://markmail.org/message/hvfl2hhhaqjk243q , но не знает, что сделать с ним.
Из ссылки: решение легко: в /usr/bin/omegat
, сценарий удара тестирует версию Java и проверяет, является ли это openjdk или солнце. Замените 'солнце' 'оракулом', и оно работает. у автора вопроса есть Java Oracle, не openjdk-6-jdk или openjdk-7-jdk, установленный, таким образом, это решение должно также работать на него.