情况。我使用osgi,并且具有java-ee服务器和独立的rmi客户端。我有一些模块/组件testme。所以我有三个捆绑包:


用于服务器//testme.AClass、testme.ZClass
共享-包含ejb接口和DTO。 //testMe.TClass,testme.BClass
客户端//testme.GClass、testme.KClass


在这种情况下,存在三个包,它们具有关于testme模块的类。当然,每个osgi包都是一个单独的Maven项目。

问题-当我在日志中有一些错误时,很难理解该类位于哪个捆绑包中。因此,也许我应该将罐子的名称定义为包的开头。我的意思是我应该这样命名这3个jar文件:com.example.svr,com.example.shd,com.example.clt和类的全名应该像com.example.svr.testme.AClass。使用这种命名方法,我总是从日志中了解什么osgi软件包-Maven项目有问题。但是我看不到使用外国库的这种做法。正常吗

最佳答案

为罐子添加“完全合格”的名称越来越受欢迎。您可以找到许多有关此示例。

例如。:


核心OSGi jar不仅被称为“核心”,还被称为“ osgi.core”。
请参阅Apache Felix项目下的artifact names
请参阅Apache Aries项目下的artifact names


我不会说JAR的名称应该与它包含的包的名称相同,因为它会引起很多问题。例如:如果JAR文件中有多个导出的包怎么办?

我要说的是,jar名称不仅应包含项目的简单名称,还应包含名称空间,最好使用与Java包相同的格式。

09-25 21:22