参考文章:Maven 配置 Tomcat8+ 部署方案 - 简书
1. 配置Tomcat访问权限
找到Tomcat解压缩的文件夹下的conf文件夹中的tomcat-users.xml文件并打开,配置访问权限:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="1234" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
打开bin文件夹,找到startup.bat,双击运行,启动Tomcat服务器。
打开浏览器访问 http://localhost:8080/manager 地址,回车后出现弹框,输入tomcat-users.xml文件中配置的用户名和密码(username="admin" password="1234")- 登录
2. Maven关联Tomcat
找到maven解压文件夹下的conf文件夹下的settings.xml 文件,配置:
<server>
<id>tomcat8</id>
<username>admin</username>
<password>1234</password>
</server>
3. 在项目使用
在项目中的pom.xml中配置如下代码:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcat8</server>
<username>admin</username>
<password>1234</password>
<update>true</update>
</configuration>
</plugin>
</plugins>
</build>
4. 启动Tomcat服务器
(第一次部署时需要)找到Tomcat解压缩的文件夹,打开bin文件夹,找到startup.bat,双击运行,启动Tomcat服务器,注意启动后不要关闭窗口,执行下一步操作。
5. 运行步骤
选择项目 - 右键 - Run as - Run Configurations - Maven Build - Delete 掉 Maven Build 下的所有子目录
选择项目 - 右键 - Run as - Maven Build... - 在 Goals 中输入:clean install - Run
选择项目 - 右键 - Run as - Maven Build... - 在 Goals 中输入:tomcat7:deploy - Run
选择项目 - 右键 - Run as - Maven Build... - 在 Goals 中输入:tomcat7:redeploy - Run
选择项目 - 右键 - Run as - Maven Build... - 在 Goals 中输入:clean tomcat7:run - Run
Tomcat8部署成功!
6. 错误集:
1、【错误】java.net.BindException: Address already in use: JVM_Bind <null>:8080
在Tomcat启动的时候产生的异常,原因是8080的端口号被其他程序占用了,或者开启了同一个程序两次。
解决方案:
1. 查找哪个程序占用了该端口,关闭它.通过一个dos命令 netstat -ano来查看占用端口的exe程序
2. 修改Tomcat的端口号
3. 若是因为开启了同一个程序两次,则关闭其他途径打开的程序。
2、【错误】在使用maven的tomcat控件编译java程序时,报错
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project **-web: Failed to clean project:Failed to delete E:\**\target\tomcat\logs\access_log
原因:启动了另一个tomcat 进程或者运行的javaw.exe进程
解决方案:查看Console窗口,点击x停掉所有的进程即可解决问题
3、【错误】java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest"
原因:配置servlet的jar包错误或与Tomcat中的servlet的jar包冲突
解决方案:删除servlet的jar包的配置
4、【错误】异常:Project configuration is not up-to-date with pom.xml
解决方案:选择项目 - 右键 - Maven - Update Project Configuration...
Console控制台视图脱离主窗体的解决办法:Windows - Perspectctive - Reset Perspectctive