配置 tomcat-maven-plugin 插件,实现 java 项目代码无缝调试
发布于 作者:苏南大叔 来源:程序如此灵动~
本篇文章继续讨论:jfinalcms代码,在IDEA编辑器中的使用问题。在上一篇文章中,大家可以知道,使用maven的tomcat插件后,并不需要系统安装tomcat,就可以实现tomcat的基本功能,并配合IDEA的调试。截至到发稿:默认自带的tomcat版本号为:6.0.29。

本篇文章中,苏南大叔继续讲述:如何更好的使用这个maven的tomcat插件,使java也能实现类似php的效果,即:保存文件之后,就可以刷新浏览器看效果。
maven的tomcat插件的启动方式
首先,需要执行mvn install。

然后,还需要启动内置的tomcat。启动的方式有下面几种:
- 可以点击
tomcat:run菜单。 - 或者终端中执行
mvn tomcat:run,甚至sudo mvn tomcat:run。

pom.xml配置
maven的tomcat插件实际上读取的pom.xml中的配置,默认情况下配置是这样的。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<port>80</port>
<path>/${project.artifactId}</path>
<warSourceDirectory>${basedir}/target/${artifactId}</warSourceDirectory>
</configuration>
</plugin>在这里,可以看到一共有三个配置项目:port、path、warSourceDirectroy。而一般情况下来说,这三个项目都需要修改。请大家查看下面的内容:

修改port
<port>80</port>正常情况下,在mac下面启动这个插件的话,可能会显示端口错误之类的问题。因为默认的80端口,很有可能被其他软件占用。即使没有其他软件占用,在mac系统下,1024之下的端口的监听,都是需要sudo权限的。而直接点击菜单中的tomcat:run的时候,又不会带上sudo... 所以,很有可能造成默认自带的tomcat的启动失败。
默认的端口号是80,虽然是理想很美好,但是现实很骨感。鉴于各种原因,这个端口号80,苏南大叔建议:最好修改为别的端口号。在mac下,建议修改为1024以上的端口号。
修改路径
<path>/${project.artifactId}</path>默认设置的话,会在浏览器地址后面带上个项目名称的目录。和实际的应用情况上来说的话,一般都是不一致的。毕竟,正常情况下来说,是没有这一层目录的。所以,苏南大叔推荐您修改一下,这个path项目。
<path>/</path>这样修改的话,就是直接通过根目录访问我们的测试目录了。
修改warSourceDirectory
<warSourceDirectory>${basedir}/target/${artifactId}</warSourceDirectory>这个项目很好修改,直接删除所有条目内容。这样设置之后,war包就不会解压了。然后,我们的文件修改,就能及时生效了。这个正是我们所希望的情况。
否则,每次修改想要生效都要执行额外的方法的话,是不能接受的。下面列出的,是为了使效果生效,而可能执行的额外动作。
- 执行
mvn install命令,可以在终端中执行,也可以通过右侧maven面板的按钮来执行。 mac快捷键:花+shift+f9,win快捷键:Ctrl+Shift+F9,来执行编译动作。
最终效果
下面的xml内容,是苏南大叔修改后的pom.xml里面的相关内容。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<port>8060</port>
<path>/</path>
</configuration>
</plugin>
修改文件之后,直接保存即可。就可以生效。
结语
这样修改之后,我们的jfinalcms的调试之路,就更加顺畅了许多。是不是很开心? 更多jfinalcms的经验文章,请大家点击苏南大叔的文章: