安装jdk1.8.0_45后如何打开Protege 4.3?
How to open Protege 4.3 after installing jdk1.8.0_45?
在 windows 7 64 位上,我安装了 protege-4.3.0-304,我从 here 下载了 jvm。而且它工作正常。
但是一旦我用 jdk1.8.0_45
更新了 jvm,我就无法打开 protege。它给出以下错误:
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))
请有人帮助我。提前致谢。
我通过更正环境变量中的路径条目解决了这个问题。我在安装jdk1.8.0_45的时候,添加了"C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jre8\;C:\Program Files\Java\jre8\bin"这样的环境变量路径入口。因此我根据这个路径设置重命名了JRE的位置。我从路径变量中删除了 "C:\Program Data\Oracle\Java\javapath",它包含指向 java.exe、javaw.exe 和 javaws.exe 的三个符号链接。由于重命名 JRE 位置,这些链接不是 valid.Moreover 我已指定 JAVA_HOME 到 jdk 位置。
我在 Linux Mint 17 机器上安装 Oracle Java 8 JRE/JDK 时遇到了类似的问题。 Protege 4.3.0-304 似乎不适用于 Java 8。当我尝试使用 Java 8 作为 JVM 运行 Protege 时,我收到一堆错误消息。我找到了解决此问题的解决方法。解决方法是强制 Protege 在启动 运行ning 时使用 Java 7 JRE。要做到这一点,很简单。我只是修改了 Protege 启动器脚本 run.sh
,以便它使用 Java 7 JRE 的 java
可执行文件。
run.sh
修改前:
#!/bin/sh
cd `dirname [=10=]`
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 [=11=]`
/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
可执行文件。我不知道 Windows 上的 Protege 启动器可执行文件,但我想它是类似的东西,这个解决方案也适用于 Windows。
只是为了我自己和其他人记录一下:
不需要降级 Java。您只需将 bin/felix.jar
替换为 felix.apache.org.
中的当前版本
我的 Windows 8、java 8 遇到了同样的问题。
该问题已通过更改 G:\Program Files\Protege_4.3\bin"
中的 filix.jar
文件解决,通过从 protége 5.0
目录复制的新文件。
需要注意的是文件filix.jar
在版本5中被命名为"org.apache.felix.main.jar"
,你只能重命名它并且它可以正常工作。
在 windows 7 64 位上,我安装了 protege-4.3.0-304,我从 here 下载了 jvm。而且它工作正常。
但是一旦我用 jdk1.8.0_45
更新了 jvm,我就无法打开 protege。它给出以下错误:
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))
请有人帮助我。提前致谢。
我通过更正环境变量中的路径条目解决了这个问题。我在安装jdk1.8.0_45的时候,添加了"C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jre8\;C:\Program Files\Java\jre8\bin"这样的环境变量路径入口。因此我根据这个路径设置重命名了JRE的位置。我从路径变量中删除了 "C:\Program Data\Oracle\Java\javapath",它包含指向 java.exe、javaw.exe 和 javaws.exe 的三个符号链接。由于重命名 JRE 位置,这些链接不是 valid.Moreover 我已指定 JAVA_HOME 到 jdk 位置。
我在 Linux Mint 17 机器上安装 Oracle Java 8 JRE/JDK 时遇到了类似的问题。 Protege 4.3.0-304 似乎不适用于 Java 8。当我尝试使用 Java 8 作为 JVM 运行 Protege 时,我收到一堆错误消息。我找到了解决此问题的解决方法。解决方法是强制 Protege 在启动 运行ning 时使用 Java 7 JRE。要做到这一点,很简单。我只是修改了 Protege 启动器脚本 run.sh
,以便它使用 Java 7 JRE 的 java
可执行文件。
run.sh
修改前:
#!/bin/sh
cd `dirname [=10=]`
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 [=11=]`
/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
可执行文件。我不知道 Windows 上的 Protege 启动器可执行文件,但我想它是类似的东西,这个解决方案也适用于 Windows。
只是为了我自己和其他人记录一下:
不需要降级 Java。您只需将 bin/felix.jar
替换为 felix.apache.org.
我的 Windows 8、java 8 遇到了同样的问题。
该问题已通过更改 G:\Program Files\Protege_4.3\bin"
中的 filix.jar
文件解决,通过从 protége 5.0
目录复制的新文件。
需要注意的是文件filix.jar
在版本5中被命名为"org.apache.felix.main.jar"
,你只能重命名它并且它可以正常工作。