我有一种情况是将.dic
文件(DICOM:医学格式的数字成像和通信)添加到swing java应用程序中,我有Dicom.jar
来识别{ {1}}
一些推广
一旦我添加了.dic
来构建路径,当我从中移除jar时代码正常运行
构建路径代码中没有任何错误(我从未使用Dicom.jar
中包含的任何类)
但我很困惑,如果代码不使用任何类,代码如何识别Dicom.jar
提前致谢:)
2 个答案:
答案 0 :(得分:2)
Dicom可能使用称为SPI(服务提供程序接口)的方法。这个link提供了很好的解释。
此方法用于图像,也用于sound,您可以在需要时创建自己的SPI。
答案 1 :(得分:1)
理解正在发生的事情的关键是“动态类加载”。应用程序使用的运行时库中的某些东西是从该JAR文件中查找和加载类。
这很有可能发生,因为Dicom提供的代码符合执行此类操作的Java标准库的一个子系统所使用的SPI机制。 (Java库中有一些SPI实例。)
Dicom还可以通过其他方式与其他第三方代码进行互动;例如通过第三方SPI或老式的“将类名放入属性文件”机制。