我有一个无状态的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>
答案 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>
...