2016-10-06 39 views
1

我在我们的perforce流中包含了jdk(Java版本1.8.0_102)。我在我的WIndows Server 2008 R2 Service Pack 1计算机上创建了登记,并尝试使用登记中的jdk运行java -version,但由于JVM初始化错误而失败。这里是堆栈跟踪:在运行java -version时初始化虚拟机时发生错误

Error occurred during initialization of VM 
java.lang.ExceptionInInitializerError 
    at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1451) 
    at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1436) 
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 
    at java.lang.String.charAt(String.java:658) 
    at sun.misc.MetaIndex.registerDirectory(MetaIndex.java:184) 
    at sun.misc.Launcher$ExtClassLoader$1.run(Launcher.java:146) 
    at sun.misc.Launcher$ExtClassLoader$1.run(Launcher.java:142) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.misc.Launcher$ExtClassLoader.getExtClassLoader(Launcher.java:141) 
    at sun.misc.Launcher.<init>(Launcher.java:71) 
    at sun.misc.Launcher.<clinit>(Launcher.java:57) 
    at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1451) 
    at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1436) 

任何想法是什么错?

+0

发现了类似的问题 - http://stackoverflow.com/questions/32356738/classloader-exception-when-running-ant-on-windows-with-java-1-8 问题是我有'本地'行结束在我的执行客户端规范。这与上述问题中的选定答案相同。修复了以'unix'结尾的行后,我不再看到错误。 –

回答

0

正如上面的评论中提到的,问题出现在perforce客户端的行结束设置中。它被设置为'本地',因为我在Windows机器和我们的使用'unix'行结束的perforce服务器,它导致了从服务器同步到本地机器的jar文件中的问题。 我在我的perforce客户端中将行结尾更改为'unix',并解决了问题。

相关问题