これはどうして起こるのでしょうか?Java Class.getSimpleName()と.getName()は、CacaoとSun Javaの動作が異なっています
このJavaのDBusバインディング(2.6)
// don't let people import things which don't have a
// valid D-Bus interface name
System.out.println("type.getName: " + type.getName() + " type.getSimpleName: " + type.getSimpleName());
if (type.getName().equals(type.getSimpleName())) {
throw new DBusException(_("DBusInterfaces cannot be declared outside a package: " + "type.getName: " + type.getName()
+ " type.getSimpleName: " + type.getSimpleName()));
}
からいくつかの修正行が今日1.5
@ubuntu:~/tmp/cacao$ java -version
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
Java HotSpot(TM) Client VM (build 1.5.0_16-b02, mixed mode, sharing)
@ubuntu:~/tmp/cacao$ cacao -version
java version "1.5.0"
CACAO version 0.99.3+hg
java -Djava.library.path=/usr/lib/classpath:/ho... DBusChat
type.getName: org.freedesktop.DBus type.getSimpleName: DBus
...Exception in thread "main" org.freedesktop.dbus.exceptions.DBusExecutionException: Could not get owner of name 'framez.tests.dbus.DbusChatInterface': no such name
対対カカオ(0.99.4)からの出力の違いをチェックアウトしています。 ..
cacao -Djava.library.path=/usr/lib/classpath:/ho... DBusChat
type.getName: org.freedesktop.DBus type.getSimpleName: org.freedesktop.DBus
例外は重要ではありません。カカオの奇妙なバグですか?
.getName()がVMに依存するものかどうかは誰にも知られていますか?
情報:
GNUクラスパスの0.98の両方のJVM Dバスバインディング2.6
クラスがスタンドアロンか内部クラスかどうかを判断する "間違った"メカニズムを歌います.getEnclosingClass()など –