Как открыть Protege 4.3 после установки jdk1.8.0_45?

На 64-битной Windows 7 я установил protege-4.3.0-304, который я скачал здесь вместе с jvm. И это работало нормально.

Но однажды я обновил 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 = плагины -classpath bin/felix.jar;bin/ProtegeLauncher.jar org.protege.osgi.framework.Launcher
ОШИБКА: Bundle org.protege.common 1 Ошибка запуска файла: / G: /protege-4.3.0-304/Protege_4.2/bundles/org.protege.common.jar
(org.osgi.framework.BundleException: неразрешенное ограничение в пакете org.protege.common 1: невозможно разрешить 1.0: отсутствует требование [1.0] osgi.wiring.package; (&(osgi.wiring.package=org.w3c.dom)(версия>=0.0.0)))
org.osgi.framework.BundleException: неразрешенное ограничение в пакете org.protege.common 1: невозможно разрешить 1.0: отсутствует требование [1.0] osgi.wiring.package; (& (Osgi.wiring.package = org.w3c.dom) (версия>=0.0.0))

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

4 ответа

Решение

Я решил проблему, исправив путь к переменным среды. Когда я установил 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.

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

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

У меня была похожая проблема, когда я установил 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 исполняемый файл Java 7 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 в Windows, но думаю, что-то похожее, и это решение может работать и для Windows.

У меня была та же проблема с моей 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 вы можете только переименовать его, и он работает правильно.

Другие вопросы по тегам