[英]maven install how to install and deploy *ONLY* ejb-client
我正在使用maven-ejb-plugin以标准方式为客户端生成ejb客户端
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.3</version>
<configuration>
<ejbVersion>3.0</ejbVersion>
<generateClient>true</generateClient>
</configuration>
</plugin>
因此客户使用其依赖
<dependency>
<groupId>en.foo.ejb</groupId>
<artifactId>artifact-ejb</artifactId>
<version>1.0.0</version>
<type>ejb-client</type>
</dependency>
到目前为止,我有2个问题:
mvn clean install
或mvn clean deploy
install还需要整个ejb软件包jar,因此最后我将同时拥有
我希望只安装第二个,因为不应将artifact-ejb.jar安装在存储库中
(另请参阅https://howtodoinjava.com/maven/maven-parent-child-pom-example/ )
我该如何解决这些问题?
您的artifact-ejb-client.jar
仅包含接口。 在运行时,您还需要实现。 因此,如果您想建立适当的耳朵或战争,则需要artifact-ejb-client.jar
和artifact-ejb.jar
。 我想到的唯一例外是RMI通讯,在这种情况下,只有客户端(在呼叫方)就可以了。 因此,请考虑一下您是否真的想将artifact-ejb.jar
保留在存储库之外。
如果您决定这样做,请将您的项目分成两个单独的项目,一个包含接口,一个包含实现。 impl-project需要将客户端项目作为依赖项。 然后,您可以自由地构建和部署两者之一。
对于父poms:工件的所有父poms必须位于存储库中,否则构建会中断。 如果依赖工件,则需要解决其父pom。 它不能被保持为“秘密”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.