【问题标题】:How to publish local and remote ejb api using maven如何使用 maven 发布本地和远程 ejb api
【发布时间】:2012-07-01 14:09:36
【问题描述】:

我有一个带有无状态会话 bean 的 ejb。我有每个 bean 的接口,可以从另一台机器的另一个 ejb 访问或远程调用。在 invy 中,我记得我们使用了类似的东西:publish-remote、publish-api。 maven也能做同样的事情吗?

在单独的 jar 中发布接口,以包含在另一个项目中。

谢谢,
嫖娼

【问题讨论】:

    标签: maven ejb


    【解决方案1】:

    Maven 能够使用 maven-ejb-plugin 自行生成您的客户端 jar:http://maven.apache.org/plugins/maven-ejb-plugin/index.html

    <build>
        [...]
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ejb-plugin</artifactId>
            <version>2.3</version>
            <configuration>
              <!-- this is false by default -->
              <generateClient>true</generateClient>
            </configuration>
          </plugin>
        </plugins>
        [...]
      </build>
    

    然后,它会生成一个客户端,你就可以将它用作依赖:

    <project>
      [...]
      <dependencies>
        <dependency>
          <groupId>com.example</groupId>
          <artifactId>ejb-project</artifactId>
          <version>1.0-SNAPSHOT</version>
          <type>ejb-client</type>
        </dependency>
      </dependencies>
      [...]
    </project>
    

    或更好

    <project>
      [...]
      <dependencies>
        <dependency>
          <groupId>com.example</groupId>
          <artifactId>ejb-project</artifactId>
          <version>1.0-SNAPSHOT</version>
          <type>ejb</type>
                  <classifier>client</classifier>
        </dependency>
      </dependencies>
      [...]
    </project>
    

    我没有任何真实的例子(我在我的个人计算机上,而不是我的工作计算机上),但我记得我们在第二种方法中使用了依赖关系。

    【讨论】:

    • 谢谢,它确实有效! :-) 但是,我们可以排除类文件吗?当我运行我的 Maven 构建时,它还包括实际的实现。如果可能的话,我只想打包接口。我尝试使用 clientIncludes 配置但失败了。
    【解决方案2】:

    如果您有单独的 Maven 项目,这是分离接口 (api) 和实现的常用方法。当然,您可以单独部署接口和实现。

    【讨论】:

    • 是的,但是如果我在 1 个项目中有接口和实现怎么办。有没有办法为接口创建一个api jar?
    • 并非如此,最好是在这种情况下“重构”构建以使其更清洁。
    猜你喜欢
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 2014-01-21
    • 2013-09-16
    • 2014-03-17
    相关资源
    最近更新 更多