在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>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中键入下文:
Eclipse
添加Run Configuration,选择Maven Build项,修改goal为tomcat7:deploy
即可。