Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的
2013-07-12 19:11
771 查看
针对maven配置的Spring+MVC项目,我们用Maven自带的jetty和tomcat插件进行调试,这很方便。但是调试时,这些插件所启动的web服务器,是如何来将我们的工程作为一个web项目启动并运行,可能并没有看上去那么简单。搞清楚它们启动时,是如何引用我们的项目,就是这的目的。
![](http://img.blog.csdn.net/20130712191047812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1engzMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
如果项目的名称是mvn_mvc,那么整个目录结构就如上图。
通常我们首先用mvn package生成上述的target目录中带红色部分。其等效执行 mvn compile test-compile test war:exploded war:war。也就是包含编译、测试和打包三步骤。接下来我们就可以使用mvn jetty:run或者mvn tomcat:run进行网站启动,测试运行了。此时会对应生成临时的jsp目录,jetty对应的目录名是work,tomcat对应的目录名是tomcat。
那么,项目对应的目录就是target/mvn_mvc目录吗?
非也非也!!!
真正的项目目录应该是:
本项目的java类来自于target/classes
本项目依赖的jar包来自于maven的pom配置(并没有实际的物理目录,为maven插件动态组织管理)
本项目依赖的配置文件和静态资源来自于src/main/webapp
综上所述,可以得到两个结论就是:
运行时,其实和target/mvn_mvc这个目录(打包项目目录)没有任何关系。所以如果运行过程中如果修改了这个目录的动态class和静态文件,就看不到效果。必须改src/main/java和src/main/webapp的才行。
另外,maven设计的项目思想是:src目录下是纯本项目的代码,没有任何临时文件和依赖jar包。这样也便于代码的管理:自己写的是自己的,别人的机器的都放到别处
如果程序调试出现异常,就按照此方法检查。
分享到:
如果项目的名称是mvn_mvc,那么整个目录结构就如上图。
通常我们首先用mvn package生成上述的target目录中带红色部分。其等效执行 mvn compile test-compile test war:exploded war:war。也就是包含编译、测试和打包三步骤。接下来我们就可以使用mvn jetty:run或者mvn tomcat:run进行网站启动,测试运行了。此时会对应生成临时的jsp目录,jetty对应的目录名是work,tomcat对应的目录名是tomcat。
那么,项目对应的目录就是target/mvn_mvc目录吗?
非也非也!!!
真正的项目目录应该是:
本项目的java类来自于target/classes
本项目依赖的jar包来自于maven的pom配置(并没有实际的物理目录,为maven插件动态组织管理)
本项目依赖的配置文件和静态资源来自于src/main/webapp
综上所述,可以得到两个结论就是:
运行时,其实和target/mvn_mvc这个目录(打包项目目录)没有任何关系。所以如果运行过程中如果修改了这个目录的动态class和静态文件,就看不到效果。必须改src/main/java和src/main/webapp的才行。
另外,maven设计的项目思想是:src目录下是纯本项目的代码,没有任何临时文件和依赖jar包。这样也便于代码的管理:自己写的是自己的,别人的机器的都放到别处
如果程序调试出现异常,就按照此方法检查。
分享到:
相关文章推荐
- Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的[转]
- Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的
- Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的
- Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的
- Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的
- maven项目如何启动运行---发布到tomcat中
- maven项目如何启动运行---发布到tomcat中
- mvn的使用和如何在使用外部tomcat启动maven项目
- mvn的使用和如何在使用外部tomcat启动maven项目
- 使用Maven构建javaWeb项目时,启动tomcat出错:严重: Error configuring application listener of class org.springframewo
- maven项目如何启动运行---发布到tomcat中
- MyEclipse使用总结——Maven项目如何启动运行发布到tomcat中[转]
- tomcat启动提示端口被占用 maven项目 java.lang.ClassNotFoundException: org.springframework.web.servlet.Dispatche
- 基础教学——如何用maven工具创建一个springmvc+mybatis的项目
- 使用Maven构建javaWeb项目时,启动tomcat出错:严重: Error configuring application listener of class org.springframewo
- maven项目:spring配置里:连接远程oracle(虚拟机里),【虚拟机没开启(数据库连接不上)导致tomcat启动失败(web.xml配置Spring了监听器)】=(也不报具体错误,就是超时)
- eclipse maven+mybatis+spring+springmvc 项目启动报错:java.lang.ClassNotFoundException: org.aspectj.weaver.r
- 如何玩转最新的项目的搭配springmvc+mybatis+Redis+Nginx+tomcat+mysql
- Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建+SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 使用Maven构建javaWeb项目时,启动tomcat出错:严重: Error configuring application listener of class org.springframewo