tomcat怎么部署项目 恶臭elipse

本帖子已过去太久远了,不再提供回复功能。Eclipse的Tomcat热部署,免重启的方法 - 三问飞絮 - ITeye技术网站
博客分类:
背景与目标:
最好使用MyEclipse部署Web应用,在开发调试时,非常方式。资源文件修改可以自动的同步。修改Java文件,除非改变类的结构定义,也可以实现热部署的效果。
后来使用Eclipse JEE版本原生的方式(WTP)部署Web应用,在这一方面的便利性大大降低。原因是一旦修改Java类,虽说Tomcat也不需要人自动重启,但实际上,WebContext自动relead,实际还是相当于重启。
其实,不仅仅是修改Java类,只是放在Eclipse作为source folder的文件修改,都可触发tomcat的reload。
对此,一个改善的思路是:直接将tomcat的Context指向工程目录下的WebRoot/WebContent。这样,就免去了代码同步的问题。
1、修改tomcat的server.xml。
在Eclipse创建Server,实际已经新建了一组catalina的配置文件,即原tomcat中的conf目录。
2、手动添加项目引用。在Host结点下,添加Context节点。
&Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"&
&!-- docBase指向工程目录
path即Context名称 --&
&Context docBase="E:/code/workspace/SCM/WebRoot" path="/SCM" reloadable="false"&
&/Context&
问题:很多项目引用的第三方包有统一的位置,并不直接放在工程下/WebContent/WEB-INF/lib下。在这种场景,将会导致ClassNotFoundException异常抛出。
一些无关Classloader的类,主要是作为工具类引用的,可以放在tomcat的shared.loader下。这个可以通过设置catalina.properties目录来实现。
但是此方法改变原有的类加载设计,可能工程需要做一些特别的改变。不具有普遍适应性。故略。
利用Tomcat配置的VirtualWebappLoader机制,告诉tomcat去加载第三方的其他jar文件。配置方法同样在server.xml文件里。在前面加的Context下添加Loader。如下:
&Context docBase="E:/code/workspace/SCM/WebRoot" path="/SCM" reloadable="false"&
&Loader className="org.apache.catalina.loader.VirtualWebappLoader" searchVirtualFirst="false" virtualClasspath="E:/code/workspace/SimpleLibs/libs/*.jar"&&/Loader&
&/Context&
注意:上面的配置适用于Tomcat 7.X。在Tomcat 6.0设置virtualClasspath时,需要列举出具体的jar,即不能使用*.jar。
题外话:可以自定义VirtualWebappLoader,但是在Eclipse方式启动tomcat的情况下,已测的tomcat6.0无效。直接在tomcat/bin/startup.bat下可自定义。初步推断原因是eclipse在catalina.base目录下生成一个org.eclipse.jst.server.tomcat.runtime.60.loader.jar。里面重写了WebappLoader。
浏览 41779
浏览: 186849 次
来自: 厦门
另外一个方法实现eclipse tomcat 热部署:http ...
太有用了,我就是这个该死的错误,没注意啊。感谢。
写道一品哥,好巧啊,百度搜到滴,哈哈那个汗 ...
一品哥,好巧啊,百度搜到滴,哈哈8814人阅读
TroubleShooting(5)
我是一个新手学习Java,servlet和Jsp.
痛苦的是我时候一个.net程序员,习惯了微软的VS IDE一切都是封装好的.傻瓜式的使用, 不需要关心内部实现.
悲催的是我看到资料都是My Eclipse, 但我下载使用的环境是Eclipse.这就有两个问题要解决.
一个是如何把My Eclipse的东西同步到Eclipse上,
另外一个是版本控制问题.我的环境我觉得比较奇葩(Tomca6.0.45+J2ee1.8.25).
在这个过程中遇到的问题较多,下面就找一个先突破吧.
如何部署Servlet到Tomcat,也可以说是如何debug on server(源代码在tomcat目录下)
对于一个新手来说,如何快速定位自己遇到的问题笔记重要,一个办法是把你看到的问题直接google|baidu.另一个办法是查看出错信息”猜”是哪里可能出了问题.
当你用Eclipse运行web项目的时候,你就会看到控制台出现:
WARNING:[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property'source' to 'org.eclipse.jst.jee.server:myProject' did not find a matchingproperty.
这样的字样,说的是server.xml的Service标签里的Engine标签里的Host标签里的Context标签配置了一个'source'属性,属性值是'org.eclipse.jst.jee.server:myProject'.
但问题是Context标签是不支持source这个属性的,所以跳出了警告,所以大家也发现的是,尽管有警告,但是大部分人的程序是依然可以运行没有问题的,但少部分人的不能够运行。
也许你已经在网上查到很多像这样的问题,而且也给出了解决办法,但是你照着解决的方法去做了,警告依然存在!
那现在你就可以跟着我的步骤来做了:
解决方法1:
双击Servers里的Tomcat v6.0 at localhost,&然后跳出个界面;;在Server Options选项里有个Publish module contexts to separate XML files的选项,到这里我们也一样把勾勾上如果问题解决,请跳过. 如果问题仍在,请继续看.请大家注意Server Locations, 在Eclipse默认情况是选在第一个”Useworkspace metadata(does not modify Tomcat installation)” . Deploy path= wtpwebapps.而且Eclipse默认会把Web项目放到Eclipse的工作空间(work
bench)下的.metadata\.plugins\org.eclipse.wst.server.core\tmp0(或者是tmp1)\wtpwebapps\下,如果现在Eclipse中有名为myProject'的项目,将它按以前的方式部署到服务器上,则会在上边的目录下,看到自己的项目了.
&修改完成之后,保存即可。这样以后的项目都会发布到tomcat下的webapps下了。
在Eclipse中,用这种方式发布Web项目,会将原先服务器的conf文件夹被分成为backup文件夹,自己新建立一个文件夹,来作为配置Eclipse发布的Web项目。所以还是要使用MyEclipse编写JavaWeb项目有时候,Server Locations项目下,什么都不可选择,你可以先删除服务器,重新添加tomcat服务器,然后右击打开,修改即可。
这个时候只是解决了第一个问题, 发布servlet 到tomcat服务器. 那么你若是导入的My Eclipse文件将不能很好的工作,至少有一部分不能发布过去.因为Eclipse默认的web目录是WebContend,而MyEclipse是WebRoot.所以导致只有WebContent中的内容被发布到Tomcat中.如何修改它?请看下图
1. 找到工程的.settings 文件
2. 修改为你想发布的目录
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:234536次
积分:6423
积分:6423
排名:第3158名
原创:96篇
译文:14篇
评论:58条
(2)(1)(1)(3)(3)(3)(19)(4)(4)(5)(2)(6)(1)(1)(3)(2)(1)(3)(5)(6)(5)(4)(4)(7)(1)(1)(5)(4)(8)(1)(3)(3)(2)Eclipse中将web项目自动发布到Tomcat&webapps下
Eclipse:(eclipse-jee-indigo-SR1-win32.zip)
A:File&Dynamic Web Project【工程名:test】
B:右键WebContent,New--&Jsp File
C:右键test,Run As&Run on Server&服务器配置—&Apache&Tomcat V7.0 Server&选择Tomcat installation directory【F:\Tool\java_software\Eclipse--web\apache-tomcat-7.0.25】,浏览地址:(右键NewFile.jsp--&Run
As--&Run on
Server--&Finish)
1、说明:Eclipse默认使用自己工作空间下的项目数据,不会自动将Web项目发布到Tomcat的webapps下
2、双击Server,确保Server下没有项目,否则修改不了,还不能修改就clean一下
3、弹出服务器配置信息窗口
4、选择Use
Tomcat installation,Server
path会跟着改变,将Deploy
path修改为webapps(最好是使用完整的目录,如:D:\\Tomcat\\webapps),默认是wtpwebapps,ctrl+s保存
5、配置好Server,右击项目中.jsp文件&run。项目已经发布到Tomcat下的webapps。局域网访问:http://192.168.5.103:8080/test/NewFile.jsp
**有些内容为参考网上,整个步骤经过测试。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 elipse 配置tomcat 的文章

 

随机推荐