将jar名设置为包名开头是否正常

Is it normal to set jar name as the beginning of the package names

情况。我使用 osgi,我有 java-ee 服务器和独立的 rmi 客户端。我还有一些 module/component testme。所以我有三个包:

  1. 对于服务器 //testme.AClass, testme.ZClass
  2. shared - 包含 ejb 接口和 DTO。 //testMe.TClass,testme.BClass
  3. 客户端 //testme.GClass, testme.KClass

在这种情况下,有三个包,其中有 class 个关于 testme 模块。当然,每个 osgi 包都是一个单独的 maven 项目。

问题 - 当我在日志中出现一些错误时,很难理解 class 位于哪个包中。所以,也许我应该将 jar 的名称定义为包的开头。我的意思是我应该这样命名这 3 个 jar 文件:com.example.svr,com.example.shd,com.example.clt 而 classes 的全名应该像 com.example.svr.testme.AClass。使用这种命名方法,我总是从日志中了解到 osgi bundle - maven 项目有什么问题。但是我没有看到使用外国库的这种做法。正常吗?

越来越流行给罐子加上"fully qualified"名字。你可以找到很多关于它的例子。

例如:

  • 核心 OSGi jar 不只是 "core" 而是 "osgi.core".
  • 查看Apache Felix项目下的artifact names
  • 查看Apache Aries项目下的artifact names

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

我会说 jar 名称不仅应该包含项目的简单名称,还应该包含命名空间,最好与 java 包的格式相同。