OmegaT e versão Java

2

OmegaT instalado no Centro de Software (Ubuntu 12.04). Quando tento iniciá-lo, acabei de receber a mensagem de erro:

  

Binário java adequado não encontrado.

A saída do java -version é:

  

versão java "1.7.0_55"   Java (TM) SE Runtime Environment (build 1.7.0_55-b13)   Java HotSpot (TM) Server VM (compilação 24,55-b03, modo misto)

Alguém tem alguma ideia?

Obrigado

Peter

    
por Peter 23.05.2014 / 20:56

2 respostas

3

A falha está no shell script omegat que tenta descobrir a versão do java. O script deve iniciar o programa apenas se encontrar uma implementação openjdk ou sun java na máquina. Para isso, ele tenta ver o caminho onde o java está instalado usando a linha abaixo:

JAVA=$(which java | xargs readlink -f)

Em seguida, verifica se o "caminho" contém o nome openjdk ou sun nele por

echo "$JAVA" | grep -q -e '\(openjdk\|sun\)'

Agora, aqui está o problema. Nem sempre você pode instalar o java em um local que tenha o nome "sun", pois, no meu caso, ele estava em /usr/local/java/jdk1.7.0_07/bin/java .

Portanto, a solução está em simplesmente corrigir esse script, já que você já tem a versão java adequada instalada.

Aqui está meu arquivo / 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 $*

Observe as duas linhas "#CHANGE" no script. Ah sim, você precisa editar o arquivo como root.

    
por Ashish 25.07.2014 / 20:12
0

Eu tenho o mesmo problema. Eu encontrei isto: link mas não sei o que fazer com isso.

A partir do link: A solução é fácil: em /usr/bin/omegat , o script bash testa a versão java e verifica se é openjdk ou sun. Substitua 'sun' por 'oracle' e ele funciona. O autor da pergunta tem o Oracle Java, não openjdk-6-jdk ou openjdk-7-jdk, instalado para que essa solução também funcione para ele.

    
por user293817 25.07.2014 / 17:57