在Eclipse(Kepler)中使用“用于开发和管理WebSphere®ApplicationServer V8.0L(或V8.5)的工具,我想在启动Web预览服务器时收到以下错误消息:
CWWKE0005E: The runtime environment could not be launched.
com.ibm.ws.kernel.boot.LaunchException: Caught unexpected exception java.lang.NoSuchMethodError: org/osgi/framework/Version.compareTo(Lorg/osgi/framework/Version;)I
at com.ibm.ws.kernel.boot.internal.KernelBootstrap.rethrowException(KernelBootstrap.java:412)
at com.ibm.ws.kernel.boot.internal.KernelBootstrap.go(KernelBootstrap.java:179)
at com.ibm.ws.kernel.boot.Launcher.createPlatform(Launcher.java:131)
at com.ibm.ws.kernel.boot.Launcher.main(Launcher.java:55)
at com.ibm.ws.kernel.boot.cmdline.EnvCheck.main(EnvCheck.java:52)
Caused by: java.lang.NoSuchMethodError: org/osgi/framework/Version.compareTo(Lorg/osgi/framework/Version;)I
at org.osgi.framework.VersionRange.isEmpty0(VersionRange.java:332)
at org.osgi.framework.VersionRange.<init>(VersionRange.java:182)
at com.ibm.ws.kernel.provisioning.VersionUtility.<clinit>(VersionUtility.java:28)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:228)
at com.ibm.ws.kernel.boot.internal.KernelResolver$ResolverCache.checkEntry(KernelResolver.java:498)
at com.ibm.ws.kernel.boot.internal.KernelResolver.<init>(KernelResolver.java:135)
at com.ibm.ws.kernel.boot.internal.KernelBootstrap.go(KernelBootstrap.java:122)
... 3 more
CWWKE0018E: An exception occurred while launching the runtime environment: java.lang.NoSuchMethodError: org/osgi/framework/Version.compareTo(Lorg/osgi/framework/Version;)I
发生了什么事?我知道服务器内的某些东西试图使用一个没有所需方法的对象。但为什么?我该如何解决?
答案 0 :(得分:0)
我发现了问题。在JRE定义中,我在默认VM参数中有java外部目录:
-Djava.ext.dirs=d:\ws8\java\jre\lib;d:\ws8\java\jre\lib\ext;d:\ws8\lib;d:\ws8\plugins
d:\ ws8是我的WebSphere 8.0的安装目录。显然,它们也含有很多osgi东西。
我知道这些设置在那里,我在其他一些情况下需要它们。但我没想到它们会导致其他IBM软件出现问题。
(感谢rlegendi的小踢。)