一、概述:
在平常开发过程中,针对maven的web项目,发布和调试有些繁琐。本文采用maven打war包,在tomcat中配置war包地址,然后启用tomcat远程调试,在eclipse中进行调试。
二、maven的相关配置:
在pom.xml中配置打包路径:
<!-- war 打包插件, 设定war包名称不带版本号 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<packagingExcludes>
<!-- WEB-INF/classes/com/thinkgem/jeesite/** -->
WEB-INF/classes/org/apache/ibatis/**,
WEB-INF/classes/org/mybatis/spring/**
</packagingExcludes>
<warSourceExcludes>
static/bootstrap/2.3.1/docs/**,
test/**
</warSourceExcludes>
<webappDirectory>${project.build.directory}/${project.artifactId}</webappDirectory>
<warName>${project.artifactId}</warName>
<outputDirectory>e:/deploy_wars</outputDirectory>
</configuration>
</plugin>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
上面的outputDirectory属性设置了war包的存放路径。
三、tomcat中配置war包:
在tomcat的server.xml中配置如下:
<Host name="localhost" appBase="E:/deploy_wars"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!---->
<Context path="/test" docBase="jeesite.war" reloadable="true"> </Context>
</Host>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
四、在tomcat中启用远程调试:
修改tomcat/bin/catalina.bat文件:
找到rem —– Execute The Requested Command —————————————一行,添加以下配置:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx512m -XX:PermSize=180m -XX:MaxPermSize=180m -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001
- 1
- 2
这里用于启用远程调试的参数为-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8001。
说明监听的是8001端口,可根据需要进行调整。
在命令行启动startup.bat,观察命令行窗口:
五、在eclipse界面新增远程调试:
点击run-Debug Configurations…:
如果不报错,就说明已经连接到了远程应用,然后打断点调试就可以了。