如何使用TomEE maven插件自动部署EJB jar

时间:2013-08-15 10:08:59

标签: maven ejb tomee

我有一个无状态的EJB SOAP Web服务,它打包在jar文件中。

当应用程序只包含一个EJB jar文件时,是否可以使用Tomee maven插件设置自动部署?

例如,this site表示需要在server.xml中定义的Web上下文。我的同步设置与网站建议的相同。

mvn compile

命令除了正常情况之外什么都不做,只编译源代码。

是否有可能使用EJB jar设置类似的东西,或者在任何情况下都需要WAR包?

感谢。

更新

为了让TomEE Maven插件完全适用于jar文件,我在pom.xml配置部分添加了以下内容

<apps>
  <app>my.group:my-ejb-app:1.0:jar</app>
</apps>

1 个答案:

答案 0 :(得分:1)

我们使用maven tomcat7插件来做到这一点。这是诀窍,因为Apache TomEE是JEE6,您可以在战争中部署EJB。

所以有两种方法可以做你想要的......一,跳过你的应用程序的Jar包装,让你的EJB成为WAR。如果这听起来不那么吸引人,那么另一种方法是创建一个单独的WAR项目,但是将EJB jar作为依赖项。

在任何一种情况下,然后您可以使用tomcat7插件轻松地将项目部署到Apache TomEE,如mvn tomcat7:deploy,只要您正确填写pom的服务器部分即可。例如:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <configuration>
                <server>crabs</server>
                <url>http://crabs/manager/text</url>
                <path>/${project.artifactId}</path>
                <update>true</update>
            </configuration>
        </plugin>
    </plugins>
</build>

确保服务器上的tomcat-users.xml中有一个用户,该用户具有对manager-text的适当部署权限。另外,将服务器配置放入〜/ .m2 / settings.xml:

...
<servers>
    <server>
        <id>crabs</id>
        <username>deploy</username>
        <password>your password</password>
    </server>

...