我在我的OSGI项目中使用了pcap4j。运行应用程序的设备正在运行openembedded。当我在设备上的独立应用程序(非OSGI)中运行我的代码时,它可以正常工作。当在OSGI中运行时,它不会。我嵌入了pcap4j依赖项,因为它们不是包。清单包含com.sun.jna的导入,包JNA4.2.0可用(并由另一个包使用)。我也试着给System.load和System.loadLibrary打电话...
发布于 2018-07-17 14:36:41
我也有同样的问题,我为pcap4j和它的依赖项做了一个osgi。以下是包中的jar文件:
jna-4.2.1.jar,
pcap4j-core-1.7.3.jar,
pcap4j-packetfactory-static-1.7.3.jar,
slf4j-api-1.7.12.jar,
slf4j-nop-1.6.2.jar整个MANIFEST.MF文件:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Pcap4j
Bundle-SymbolicName: pcap4j
Bundle-Version: 1.0.0
Bundle-ClassPath: jna-4.2.1.jar, pcap4j-core-1.7.3.jar, pcap4j-packetfactory-static-1.7.3.jar, slf4j-api-1.7.12.jar, slf4j-nop-1.6.2.jar
Export-Package: com.sun.jna,com.sun.jna.ptr,com.sun.jna.win32,org.pcap4j,org.pcap4j.core,org.pcap4j.packet,org.pcap4j.packet.constant,org.pcap4j.packet.factory,org.pcap4j.packet.namednumber,org.pcap4j.util,org.slf4j,org.slf4j.helpers,org.slf4j.impl,org.slf4j.spi
Bundle-RequiredExecutionEnvironment: JavaSE-1.8在此之后,您可以使用Import-Package简单地使用这些包。
Import-Package: org.osgi.framework;version="1.3.0", org.pcap4j.core, org.pcap4j.packet, org.pcap4j.packet.namednumber
另请查看此issue on pcap4j repository以了解更多信息。
https://stackoverflow.com/questions/48623659
复制相似问题