我开发了一个部署为OSGI felix包的java项目。 该项目包含2个包: - 第一个包只包含一个类(CLASS_1),它应该向/从文件写入/读取一些消息; - 第二个包包含2个类:一个webSocketServer(@ServerEndPoint),它包含一个方法@onMessage(以及所有其他必需的方法)和另一个用于注册websocket的类。
在第二个包中出现的@OnMessage方法中,我将调用第一个包中的方法来存储即将发送的消息。
如果我不使用CLASS_1的方法,websocket正常工作。但是当我使用它时,在运行时(当一条消息到达时)我对该类(CLASS_1)有一个ClassNotFoundException。我不知道是什么问题。也许pom.xml文件中缺少某些东西? (我正在使用maven)
有人可以帮助我吗?
提前致谢
答案 0 :(得分:0)
您需要使用OSGi概要的服务组件架构。在您的情况下,CLASS_1必须发布将从其他软件包(通过接口)使用的服务,并且还需要定义组件类以便注入您的服务并使用它们。
有各种库来实现服务组件架构,如apache.felix.scr,apache blueprint,aQute等。我建议你仔细检查每一个,并确定哪个最适合你的项目。