配置 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
的经验文章,请大家点击苏南大叔的文章:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。