Java Maven ejb插件。如何从生成的客户机中排除工件?
我有一个EJBMaven模块。它与编译范围有一些依赖关系。如何从生成的客户端中排除此依赖项Java Maven ejb插件。如何从生成的客户机中排除工件?,java,maven,Java,Maven,我有一个EJBMaven模块。它与编译范围有一些依赖关系。如何从生成的客户端中排除此依赖项 <dependencies> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.2</version> </dependency> &
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.3</version>
<configuration>
<generateClient>true</generateClient>
</configuration>
</plugin>
</plugins>
</build>
公地郎
公地郎
2.2
org.apache.maven.plugins
maven ejb插件
2.3
真的
您可以使用这样一种方法来排除可传递依赖项:
<project>
...
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
...
示例项目a
:
...
示例项目a
项目A
1
假如
更新:
可能您可以尝试使用可选标志:
<project>
...
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
</dependencies>
...
示例项目a
项目A
1
编译
真的
可以显示pom文件吗?不可以,依赖项必须打包到ejb.jar
(使用范围编译
),但必须从生成的客户端中排除它。如何实现这一点?如果可选配置不起作用,则需要为ejb和客户端制作不同的模块,并进行单独的配置。
<project>
...
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<project>
...
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
</dependencies>