我从https://jdk7.java.net/source.html下载了Java JDK 7源代码。 这是一个包含几乎所有源代码的100 MB软件包 - 除了我感兴趣的部分。
Java Access Bridge(JAB)主要由WindowsAccessBridge.dll
和JavaAccessBridge.dll
组成,它们在不同的进程中运行并进行进程间通信。
在源代码包中存在这些文件夹和文件:
jdk\make\bridge\JavaAccessBridge\Files_cpp.gmk
jdk\make\bridge\JavaAccessBridge\Makefile
和
jdk\make\bridge\WindowsAccessBridge\Files_cpp.gmk
jdk\make\bridge\WindowsAccessBridge\Makefile
但缺少所有cpp文件。
文件Files_cpp.gmk说:
FILES_cpp = \
AccessBridgeJavaVMInstance.cpp \
AccessBridgeMessageQueue.cpp \
AccessBridgeMessages.cpp \
AccessBridgeWindowsEntryPoints.cpp \
WinAccessBridge.cpp \
AccessBridgeDebug.cpp \
AccessBridgeEventHandler.cpp
ZIP包中不存在这些CPP文件。
Makefile说:
VERSIONINFO_RESOURCE = $(CLOSED_PLATFORM_SRC)/native/sun/bridge/AccessBridgeStatusWindow.rc
什么是CLOSED_PLATFORM_SRC
?
所以,现在你要告诉我:“忘了!这些文件不公开。”
但是,在这篇文章中:Not receiving callbacks from the Java Access Bridge Darren Ford写道他已经编译了WindowsAccessBridge的Debug版本。这是在2009年。所以几年前代码可用。
这个代码有没有人可以发给我? (我不在乎它是否来自较旧的JDK。)或者它仍然可用而我找不到它?
注意:在JDK 7之前,Accessbridge不是JDK的一部分。这是一个必须手动安装的单独下载。见http://docs.oracle.com/javase/accessbridge/2.0.2/setup.htm