maven (eclipse|Vs Code) 远程部署docker上的tomcat

在docker上装了个Tomcat,由于container的特性,eclipse不能通过常规手段定位Tomcat,所以进行在本地进行“远程部署”。

docker配置

初始化

1
2
3
$ docker pull tomcat
$ docker run --name tomcat -p 8080:8081 tomcat
$ docker exec -it tomcat bash

-p 8080:8081:将容器的8080端口映射到主机的8081端口

修改配置

修改配置前我们需要确认一下有没有文本编辑器,可以通过apt-get下载一个vim。

修改tomcat/conf/tomcat-user.xml文件,在最末尾对应位置修改加入以下内容:

1
2
3
4
5
<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="admin-gui" />
<role rolename="admin-script" />
<user username="admin" password="kitekii" roles="manager-gui,manager-script,admin-gui,admin-script" />

只有添加用户才能进入localhost:8081/manager,否则会显示403 Access Denied

载入插件

接着我们回到maven,在项目中的pom.xml中<plugins>标签下添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<!-- 指定项目部署的端口 -->
<port>8081</port>
<!-- 指定项目部署的URL,/manager/text是预置的部署接口 -->
<url>http://127.0.0.1:8081/manager/text</url>
<username>admin</username>
<password>kitekii</password>
<update>true</update>
<!-- 指定项目部署路径,如果不设置为默认项目名称 -->
<path>/mobile</path>
</configuration>
</plugin>

即向maven加载了部署所需要的插件,值得注意的是,该tomcat7插件支持部署至tomcat7.*、8.*。

部署

由于是远程部署,调试相关显得更加复杂,此处先对部署进行阐释。

VS Code

只需在shell中键入下文:

1
$ mvn tomcat7:deploy

Eclipse

添加Run Configuration,选择Maven Build项,修改goal为tomcat7:deploy即可。

Share