java web项目自动部署到Tomcat的原因
关于eclipse中MAVEN WEB工程中编译问题
这几天是被java的环境搞疯了,我先是搭了一个spring+springmvc+mybatis的工程,在家里跑了一下,没有问题,把工程带到公司里用,却一直不能使用。
按常理来说,只要工程发生一点变化,tomcat都会自动重启,自动重新reload。但是我发现我在公司无论怎么改,tomcat没有一点变化,都是之前的工程状态。

原因是因为之前,我把Build Automaticlly给去掉了。导致了eclipse不能及时的把编译文件build到指定目录中去。
勾上了就能同步上去了。
后来,我想了一下,它是怎么样同步,根据什么来同步的呢?
选中工程右键选择properties,找到
,
Deployment Assembly(部署装配),这里是真正的部署到tomcat的工程。还有一个目录java Build Path

这里有一个output folder文件选项,这里下面的目录也是动态编译的。但是这个classes文件夹在工程中是隐藏的。
在Deployment Assembly 和build Path中的输出文件夹中classes目录是同步 ,但是tomcat实际实际装载的是Deployment Assembly 下面的文件。
打开一个文件夹就可以证明这个问题:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\datag\WEB-INF\classes\
这个目录是tomcat实际装载WEB项目的目录。正好与Deployment Assembly的目录对等。
但是后来我奇葩地发现target下面也有一个datag\WEB-INF\classes\目录,天真的我以为tomcat装载的是它,然而,当我对一个类文件作了修改之后,我发现target下面的个datag\WEB-INF\classes\下的对应的class文件的时间并没有改变,这说明虽然文件已经编译build但是并没有build到这个目录。然而我发现target\classes和\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\datag\WEB-INF\classes\下对应的class文件的修改时间改变了。
现在问题很明朗了,当勾上Build Automaticlly,当类文件发生一点变化,eclipse都会动态编译,然后build到Deployment Assembly和build Path下设置的输出目录,我这里对应的是\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\datag\WEB-INF\classes\和target\classes,而tomcat最终执行的是Deployment Assembly下的目录,紧接着,tomcat就会自动reload工程。
这里还有一个小小的问题target \datag\WEB-INF\classes的目录是哪里来的呢,而且还不会动态更新?
其实这个是maven的产物,我勒个去,你执行maven install就知道了,(我的工程的名字叫datag)

这句话是在控制台输出的。
target \datag\WEB-INF\classes是maven的产物,当然是不会动态更新了,只要当执行maven重新打包的命令的时候,里面的工程才能更新过来。
文章来源:http://www.cnblogs.com/think-in-java/p/4831701.html
java web项目自动部署到Tomcat的原因的更多相关文章
- Eclipse中的Web项目自动部署到Tomcat的webapp目录下
Eclipse中的Web项目自动部署到Tomcat 原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写 ...
- Eclipse中的Web项目自动部署到Tomcat
原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误 ...
- [转]Eclipse中的Web项目自动部署到Tomcat
原文地址:http://www.cnblogs.com/ywl925/p/3815173.html 原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的 ...
- Eclipse中WEB项目自动部署到Tomcat
原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误 ...
- Eclipse中的Web项目自动部署到Tomcat(转)
转自:http://www.cnblogs.com/ywl925/p/3815173.html 问题: 这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中.在Eclipse中做 ...
- 在Eclipse for mac中配置tomcat,使web项目自动部署到tomcat
jdk.tomcat的配置就不多说了,网上一大堆. 一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运 ...
- 全网最详细的Eclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(图文详解)
不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在Myeclipse里,则是File -> new -> ...
- 全网最详细的MyEclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(图文详解)
不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在eclipse里,则是File -> new -> ...
- java web项目的部署
java web项目的部署 我刚开始学着编写java web项目,着实遇到不少麻烦,感觉JAVA真难侍候,好多东西都是手动.手动. 就拿这个web项目在tomcat上的部署来说吧.我在项目的build ...
随机推荐
- 一秒钟生成自己的iOS客户端
原谅我这个标题党 想当年我也是亲自学过几天Objective-c的程序猿,我一眼就知道我是在骗人,但那有怎样呢!还不是满大街都是各种<十分钟让你明白Objective-C的语法>.< ...
- ASP.NET 图片上传工具类 upload image简单好用功能齐全
使用方法: UploadImage ui = new UploadImage(); /***可选参数***/ ui.SetWordWater = "哈哈";//文字水印 // ui ...
- 浅谈mysql的两阶段提交协议
前两天和百度的一个同学聊MySQL两阶段提交,当时自信满满的说了一堆,后来发现还是有些问题的理解还是比较模糊,可能是因为时间太久了,忘记了吧.这里再补一下:) 5.3.1事务提交流程 MySQL的事务 ...
- 为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式
为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式,代码如下: public class DataComparer<T>:IEqualityCompare ...
- 利用session做国际化引起的old区内存爆满及修复方法
题记:昨天加班打车回家,看见前面有辆路虎在高速上开的巨慢,挡住了我坐的出租车的路,于是就跟司机吐槽了一句:“前面这车怎么这么面啊?”,司机沉默了大概3秒,说了一句富含哲理性的话:“没有面车,只有面人” ...
- Google的分布式关系型数据库F1和Spanner
F1是Google开发的分布式关系型数据库,主要服务于Google的广告系统.Google的广告系统以前使用MySQL,广告系统的用户经常需要使用复杂的query和join操作,这就需要设计shard ...
- Winform开发框架之权限管理系统改进的经验总结(4)--用户分级管理
在实际的系统应用环境中,用户的分级管理一般也是比较常见的功能,小的业务系统可以不需要,但是一般涉及到集团.分子公司.或者是事业单位里面的各个处室或者某某局的人员管理,这些分级管理就显得比较必要,否则单 ...
- HTTP请求中的Body构建——.NET客户端调用JAVA服务进行文件上传
PS:今日的第二篇,当日事还要当日毕:) http的POST请求发送的内容在Body中,因此有时候会有我们自己构建body的情况. JAVA使用http—post上传file时,spring框架中 ...
- C#开发规范总结(个人建议)
.NET开发编程规范 章程序的版式 版式虽然不会影响程序的功能,但会影响可读性.程序的版式追求清晰.美观,是程序风格的重要构成因素. 可以把程序的版式比喻为"书法".好的" ...
- csharp: MongoDB
安装配置: Install MongoDB on Windows(安装配置官方参考) http://docs.mongodb.org/manual/tutorial/install-mongodb-o ...