我有一个打包在 jar 文件中的无状态 EJB SOAP Web 服务。
当应用程序只包含一个 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>
最佳答案
我们使用 maven tomcat7 插件来完成这项工作。这是诀窍,因为 Apache TomEE 是 JEE6,您可以在 war 中部署 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>
...
关于maven - 如何使用 TomEE maven 插件自动部署 EJB jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18250519/