Maven 2 在Maven中将ejb客户端指定为依赖项

Maven 2 在Maven中将ejb客户端指定为依赖项,maven-2,maven,ejb,Maven 2,Maven,Ejb,我有两个EJBA和B(在不同的jar文件中),EJBA调用EJBB的一个方法 从以下Maven的文档中,我使用generateClient创建ejb客户机,并使用ejb客户机依赖关系获取jar。 http://people.apache.org/~aramirez/maven ejb plugin/examples/ejb-client-dependency.html 可以使用Maven来构建、部署和运行。问题是,尽管项目A只需要EJBB的接口类,但Maven将所有EJBB的依赖库都包含在EJB

我有两个EJBA和B(在不同的jar文件中),EJBA调用EJBB的一个方法

从以下Maven的文档中,我使用generateClient创建ejb客户机,并使用ejb客户机依赖关系获取jar。 http://people.apache.org/~aramirez/maven ejb plugin/examples/ejb-client-dependency.html


可以使用Maven来构建、部署和运行。问题是,尽管项目A只需要EJBB的接口类,但Maven将所有EJBB的依赖库都包含在EJBA的依赖中。结果是EJBA将有许多不必要的jar文件。有什么解决方案可以修复它吗?

唯一的方法是将EJBB的接口移动到一个单独的jar。然后将其用作EJB A和B项目/模块中的依赖项。

我找到了另一个解决方案,Maven的依赖项具有排除功能,我使用它删除一些jar文件

<dependencies>
   <dependency>
       <groupId>com.example</groupId>
       <artifactId>ejb-project</artifactId>
       <version>1.0-SNAPSHOT</version>
       <type>ejb-client</type>      
       <exclusions>
         <exclusion>
           <groupId>sample.ProjectD</groupId>
           <artifactId>Project-D</artifactId>
         </exclusion>
       </exclusions>          
   </dependency>       
</dependencies>

com.example
ejb项目
1.0-快照
ejb客户端
示例项目d
项目D

是的,ejb客户端将为其他要依赖的项目生成一个单独的jar注意,在Maven 3中,您可以使用groupId和artifactId“*”排除所有依赖项。这在您的场景中可能很有用。@Haakon在我的Eclipse&NetBeans embedded Maven中,它显示了一个警告,说使用“*”是错误的,现在可以接受,但将来会被弃用。