【问题标题】:Deploy of ejb client to nexus将ejb客户端部署到nexus
【发布时间】:2017-04-08 22:42:07
【问题描述】:

我正在使用 maven-ejb-plugin(2.5.1 版)来生成 ejb-client。生成工作正常,但是当我想部署到 nexus 时

mvn deploy ejb:ejb

它只部署 ejb 本身:

日志显示ejb的部署和ejb和客户端目标文件夹中的生成

我将插件配置为生成客户端 jar,它在安装时的作用

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ejb-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <ejbVersion>3.1</ejbVersion>
                <archive>
                    <manifestEntries>
                        <Dependencies>org.infinispan export</Dependencies>
                    </manifestEntries>
                </archive>
                <clientIncludes>
                    <clientInclude>santam/apps/staticlookups/model/**</clientInclude>
                    <clientInclude>santam/apps/staticlookups/services/**</clientInclude>
                </clientIncludes>
                <generateClient>true</generateClient>
            </configuration>
        </plugin>

【问题讨论】:

  • 通常你不应该调用ejb的目标。它应该是通过 mvn deploy 构建的一部分...您是否设置了包装 ejb ?您是否已配置为创建 ejb 客户端?
  • 我尝试调用 just deploy,并尝试从父文件夹(而不是 EJB 子文件夹)运行 deploy,这导致 ear 和 war 也被部署到 nexus。但是还是没有client.jar...

标签: java maven jakarta-ee ejb wildfly


【解决方案1】:

感谢 khmarbaise,您的评论让我的思路正确,可以找到答案。 有两个问题:

  1. 将 pom.xml 中定义的打包类型设置为 ejb,然后可以使用包生命周期阶段代替 ejb:ejb 目标
  2. 插件的执行顺序,首先要打包客户端jar,然后部署存档或者安装。

解决方案

  1. 更新 EJB pom
<project>
    ...
    <packaging>ejb</packaging>
  1. 默认情况下,如果您执行部署目标,它将首先打包然后部署(或安装以部署到本地 .m2 文件夹)
 mvn deploy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-17
    • 2015-12-27
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    相关资源
    最近更新 更多