Java Maven3-我可以申报吗;api xy的一些实现;需要
我经常把我的项目分成多个模块的项目 我如何在Maven 3 POM中声明“API xy的某些实现必须在包中可用” 例如,如果我在Java Maven3-我可以申报吗;api xy的一些实现;需要,java,api,maven-3,Java,Api,Maven 3,我经常把我的项目分成多个模块的项目 我如何在Maven 3 POM中声明“API xy的某些实现必须在包中可用” 例如,如果我在服务api和服务impl中拆分我的服务层,并在api中声明可部署的服务必须依赖于服务api的实现,即使它不是服务impl模块本身 这是可能的吗?如果您需要一个API的实现,那么有些东西必须选择哪个impl。如果你不在乎哪个,那么你有两个选择: 您可以选择一个impl并在POM中声明它,使用运行时,这将在编译时排除impl,但它将对容器可用 或者使用或实现 引用Oracl
服务api
和服务impl
中拆分我的服务层,并在api中声明可部署的服务必须依赖于服务api
的实现,即使它不是服务impl
模块本身
这是可能的吗?如果您需要一个API的实现,那么有些东西必须选择哪个impl。如果你不在乎哪个,那么你有两个选择:
运行时
,这将在编译时排除impl,但它将对容器可用这似乎是OSGi试图解决的问题。这个需求的问题在于,实现往往是在Maven构建环境的上下文中“提供”的。据我所知,API和实现之间的大多数API在运行时解决了这个问题,因此它们手动检查实现是否在类路径上,如果没有,则记录错误。多亏了Rekin和Gimby。我担心maven在这件事上不会给我任何帮助。