2015-05-22 2 views
2

В Windows 7 64 бит, я установил protege-4.3.0-304, который я загрузил вместе с jvm от here. И он работал нормально.Как открыть Protege 4.3 после установки jdk1.8.0_45?

Но как только я обновил jvm с помощью jdk1.8.0_45, я не могу открыть протеже. Он дает следующую ошибку:

G:\protege-4.3.0-304\Protege_4.2>java -server - Dlog4j.configuration=file:log4j.xml -DentityExpansionLimit=100000000 -Dfile.encoding=utf-8 -Dorg.protege.plugin.dir=plugins -classpath bin/felix.jar;bin/ProtegeLauncher.jar org.protege.osgi.framework.Launcher
ERROR: Bundle org.protege.common 1 Error starting file:/G:/protege-4.3.0-304/Protege_4.2/bundles/org.protege.common.jar
(org.osgi.framework.BundleException: Unresolved constraint in bundle org.protege.common 1 : Unable to resolve 1.0: missing requirement [1.0] osgi.wiring.package; (&(osgi.wiring.package=org.w3c.dom)(version>=0.0.0)))
org.osgi.framework.BundleException: Unresolved constraint in bundle org.protege.common 1 : Unable to resolve 1.0: missing requirement [1.0] osgi.wiring.package; (&(osgi.wiring.package=org.w3c.dom)(version>=0.0.0))

Пожалуйста, помогите мне. Заранее спасибо.

ответ

0

Я решил проблему, исправив ввод пути в переменные окружения. Когда я установил jdk1.8.0_45, он добавил путь к переменной окружения, как «C: \ ProgramData \ Oracle \ Java \ javapath; C: \ Program Files \ Java \ jre8 \; C: \ Program Files \ Java \ jre8 \ бен». Поэтому я переименовал местоположение JRE в соответствии с этой настройкой пути. Я удалил «C: \ Program Data \ Oracle \ Java \ javapath» из переменной пути, которая содержит три символических ссылки на java.exe, javaw.exe и javaws.exe. Из-за переименования места JRE эти ссылки недействительны. Кроме того, я указал JAVA_HOME на местоположение jdk.

1

У меня была аналогичная проблема, когда я установил Oracle Java 8 JRE/JDK на свой Linux Mint 17. Protege 4.3.0-304, похоже, не работает с Java 8. Я получаю кучу сообщений об ошибках, когда пытаюсь запустить Protege с Java 8 как JVM. Я нашел обходное решение, чтобы исправить эту проблему. Обходной путь - заставить Protege использовать Java 7 JRE, когда он начнет работать. Для этого это просто. Я просто модифицировал сценарий запуска Protege run.sh, так что он использует исполняемый файл Java JRE JRE.

run.sh Перед изменениями:

#!/bin/sh 

cd `dirname $0` 

java -Xmx500M -Xms250M \ 
    -server \ 
    -Dlog4j.configuration=file:log4j.xml \ 
    -DentityExpansionLimit=100000000 \ 
    -Dfile.encoding=UTF-8 \ 
    -classpath bin/felix.jar:bin/ProtegeLauncher.jar \ 
    org.protege.osgi.framework.Launcher 

В моем случае, я изменил java к /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java и я добавил строку export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 в начале. В зависимости от вашей текущей конфигурации он может быть другим.

run.sh после модификаций:

#!/bin/sh 

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 

cd `dirname $0` 

/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -Xmx500M -Xms250M \ 
    -server \ 
    -Dlog4j.configuration=file:log4j.xml \ 
    -DentityExpansionLimit=100000000 \ 
    -Dfile.encoding=UTF-8 \ 
    -classpath bin/felix.jar:bin/ProtegeLauncher.jar \ 
    org.protege.osgi.framework.Launcher 

Если вам не OpenJDK 7 уже установлена, вы можете установить его с помощью вашего дистрибутива РЕПО (это может изменить значение по умолчанию JVM обратно в Java 7 после установки. Исправьте это с помощью sudo update-alternatives --config java), или вы можете попробовать использовать Oracle Java 7 JRE и поместить папку jre1.7.0_80 где-нибудь, чтобы сценарий запуска Protege мог использовать исполняемый файл java внутри него. Я не знаю про исполняемый файл Protege Launcher в Windows, но я думаю, что это нечто похожее, и это решение может работать и для Windows.

9

Просто документировать это для себя и, возможно, кто-нибудь еще:

Java Понижение не требуется. Вам нужно только заменить bin/felix.jar текущей версией от felix.apache.org.

+0

Подтверждено, что это исправление для недавно установленной установки Protege. – reggie

1

Я была такая же проблема с моим Windows 8, Java 8. проблема была решена путем изменения файла filix.jar, в G:\Program Files\Protege_4.3\bin", К новым скопированный из каталога protége 5.0. следует отметить, что файл filix.jar имеет имя "org.apache.felix.main.jar" в версии 5, его можно только переименовать, и он работает правильно.

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