如何在TomEE Maven插件构建中引入Tomcat Manager Web应用?
问题描述
我想用TomEE Maven插件部署TomEE服务器,开发用NetBeans(依赖已安装的Tomcat Manager应用),所以希望执行mvn tomee:build时,把Tomcat Manager应用包含到生成的TomEE安装包里。能不能在pom的webapps标签中配置相关内容,让它安装到webapps目录下?
我的TomEE插件配置如下:
<plugin> <groupId>org.apache.tomee.maven</groupId> <artifactId>tomee-maven-plugin</artifactId> <version>${tomee.version}</version> <configuration> <tomeeVersion>${tomee.version}</tomeeVersion> <tomeeClassifier>plume</tomeeClassifier> <args></args> <debug>true</debug> <debugPort>5005</debugPort> <config>${project.basedir}/tomee/conf</config> <libs> </libs> <webapps> <!-- Is there something I could enter here to have the (correct version of) tomcat manager webapp installed ? --> </webapps> </configuration> </plugin>
解决方案
完全可以通过webapps标签配置实现需求,具体步骤如下:
添加Tomcat Manager的Maven依赖
先在项目<dependencies>中加入对应版本的Tomcat Manager war包(版本需和你使用的TomEE底层Tomcat版本匹配,比如TomEE 9.x对应Tomcat 9.x):<dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-manager</artifactId> <version>${tomcat.version}</version> <type>war</type> <scope>provided</scope> </dependency>可通过TomEE官方版本对应关系确认匹配的Tomcat版本,例如TomEE 9.1.x对应Tomcat 9.0.80及以上版本。
在TomEE插件的
webapps标签中配置Manager应用
修改插件配置里的webapps节点,引入该war包并指定部署路径:<webapps> <webapp> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-manager</artifactId> <version>${tomcat.version}</version> <type>war</type> <context>manager</context> <!-- 部署后对应webapps/manager目录 --> </webapp> </webapps>验证配置效果
执行mvn tomee:build后,生成的TomEE安装包的webapps目录下会出现manager文件夹,即Tomcat Manager应用已成功加入。
另外,需在TomEE的conf/tomcat-users.xml中配置具备Manager权限的用户,否则无法登录管理后台:
<user username="admin" password="admin" roles="manager-gui,manager-script"/>
内容的提问来源于stack exchange,提问作者Marcus
相关产品推荐
相关产品推荐

