Java1.6 で配列クラスの名前解決に失敗。
スポンサーリンク
Java1.6 だと"[Ljava.lang.String;"の名前解決ができない話があちこちで見受けられる。
- Bug ID: JDK-6434149 (cl) ClassLoader.loadClass() throws java.lang.ClassNotFoundException: [Ljava.lang.String; in JDK 6.0
- http://jira.jboss.com/jira/browse/JBAS-4491
- http://forum.java.sun.com/thread.jspa?threadID=5195504&tstart=90
- http://www.codefund.com/519/problem-connecting-jdk1.5-jmx-server-with-jdk1.6-client-5195901.shtm
- http://www.java2s.com/Open-Source/Java-Document/JDK-Modules-sun/misc/sun/misc/VM.java.htm
- http://www.eclipsezone.net/eclipse/forums/t102096.html?start=30
別に String[] に限った話ではなく配列クラス全般で起こりうる問題。
でも Java を起動する時に -Dsun.lang.ClassLoader.allowArraySyntax=true を指定してあげれば、この問題は解消される。
ただし JNLP 経由とか、直接、VM にパラメータを渡せないような場合はまた話が違ってくるのだが…。