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