Maven依赖类型ejb vs jar
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven依赖类型ejb vs jar相关的知识,希望对你有一定的参考价值。
有什么区别
<dependency>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<type>ejb</type>
</dependency>
和
<dependency>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
</dependency>
提示:默认类型是jar。
答案
Maven将触发不同的生命周期,具体取决于包装。请参阅here以获取捆绑生命周期列表。
在您的特定情况下,不同之处在于,当使用jar:jar
作为打包时,它不会在package
阶段调用jar
目标,而是触发ejb:ejb
目标,能够处理与EJB模块相关的特定任务(客户端生成... )。
另一答案
因为ejb是the main artifact generated by the maven-ejb-plugin,并且因为它是一个JAR工件,所以如果你在使用ejb类型或在指定依赖项AFAIK时使用(默认)jar类型并不重要。 (类似于OSGi捆绑包,有时也使用捆绑包创建,但只是JAR文件)。
如果要向辅助工件(例如ejb-client,test-jar)添加依赖项,或者如果依赖项具有不同的文件扩展名,则必须使用specify the type或classifier。
文档似乎更喜欢to use the ejb type,但它也会产生一些噪音,有时可以稍微维护一下,无处不在指定ejb类型。这是一种非常严格的方法。
另一答案
如果您没有在依赖项中指定任何类型,它将选择默认类型为“jar”,这意味着在任何远程/本地存储库中查找具有jar扩展名的文件。当您指定任何其他类型,如“ejb”,“so”时,“aar”maven将查找具有此扩展名的文件。
以上是关于Maven依赖类型ejb vs jar的主要内容,如果未能解决你的问题,请参考以下文章