前端框架选型是企业提升开发效率与用户体验的关键因素
866
2022-10-08
Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可以部署在Jetty服务器上,以下是调试过程。首先新建一个Maven的Web 项目,可以参考:Maven学习笔记-04-Eclipse和Maven集成
一.开发环境
Java: JDK7+
Eclipse: Eclipse Java EE IDE for Web Developers ,Version:Luna Release (4.4.0)
Maven: 3.2.5
Tomcat: 7+
二. 配置Tomcat用户
Tomcat7和8的配置用户权限是一样的,更多可以参考官方文档(rolename="manager-gui"/>
其中manager-gui和admin-gui是Tomcat的管理界面,manager-script指的就是maven插件可以访问的用户权限规则。如下图所示:
然后就可以进入Tomcat的管理页面了。
三. 在pom.xml文件中添加Tomcat插件
Tomcat7可以参考在官方文档(
在第19行,Tomcat插件使用的端口是8080, Web App在Tomcat中的部署地址 xpxiaowuApp。
三.运行Tomcat7的Maven插件
以上步骤配置好后,在命令行输入命令:
mvn tomcat7:run
如果一切顺利,会出现一下提示。
D:\workspace_maven>mvn tomcat7:run[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building xpxiaowuApp 0.0.1-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] >>> tomcat7-maven-plugin:2.2:run (default-cli) > process-classes @ xpxiaowuApp >>>[INFO][INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ xpxiaowuApp ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent![INFO] Copying 0 resource[INFO][INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ xpxiaowuApp ---[INFO] Nothing to compile - all classes are up to date[INFO][INFO] <<< tomcat7-maven-plugin:2.2:run (default-cli) < process-classes @ xpxiaowuApp <<<[INFO][INFO] --- tomcat7-maven-plugin:2.2:run (default-cli) @ xpxiaowuApp ---[INFO] Running war on Using existing Tomcat server configuration at D:\workspace_maven\target\tomcat[INFO] create webapp with contextPath: /xpxiaowuApp五月 27, 2015 9:17:12 下午 org.apache.coyote.AbstractProtocol init信息: Initializing ProtocolHandler ["27, 2015 9:17:12 下午 org.apache.catalina.core.StandardService startInternal信息: Starting service Tomcat五月 27, 2015 9:17:12 下午 org.apache.catalina.core.StandardEngine startInternal信息: Starting Servlet Engine: Apache Tomcat/7.0.47五月 27, 2015 9:17:13 下午 org.apache.coyote.AbstractProtocol start信息: Starting ProtocolHandler [",可以看到欢迎页面。
注意: 实验证明以上步骤在Tomcat8中同样配置成功。
使用maven 的tomcat8插件,pom.xml
四. 在pom.xml文件中添加Jetty6插件
1 Jetty可以参考官方文档(
以上步骤配置好后,在命令行输入命令:
mvn jetty:run
在浏览器输入 就可以访问项目了。
2 设置jetty(maven插件maven-jetty-plugin)的端口 ,具体配置请查看官方文档:xmlns="xmlns:xsi=" xsi:schemaLocation="
注意:maven集成jetty插件后会出现问题,maven jetty 启动后,不能修改静态文件,js,css,html
1 现象运行 mvn jetty:run 以后,发现静态资源文件修改后无法保存,IDE 提示 “请求的操作无法在使用用户映射区域打开的文件上执行”。
2 原因
如果NIO被支持的话,Jetty会使用内存映射文件来缓存静态文件,其中包括.js文件。在Windows下,使用内存映射文件会导致文件被锁定。解决方案是不使用内存映射文件来做缓存。
3 解决方案:
版本:jetty 9.0.6
1)找到 .m2\org\eclipse\jetty\jetty-webapp\9.0.6.v20130930中,找到 jetty-webapp-9.0.6.v20130930.jar,解压缩这个文件, jetty-*.jar 中 org/mortbay/jetty/webapp/webdefault.xml 文件
修改
为
2)将webdefault.xml文件放在maven web 的pom同级目录
3)修改maven中
五 在Eclipse运行Maven命令
在配置窗口中Goals列中填写Maven命令: jetty:run , 保存配置,然后运行这个配置。
此时查看Eclipse的console控制台,会给出以下提示信息:
六 配置插件仓库
参考资料:
Tomcat7插件部
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~