WTP (Web Tools Platform) 是一个开发JEE Web应用程序的工具集
用了太长时间的MyEclipse难免想换换口味这几天下来一堆插件待有时间把使用心得一个一个写出来
引用一段官方的介绍:
The Eclipse Web Tools Platform (WTP) project extends the Eclipse platform with tools for developing Web and Java EE applications It includes source and graphical editors for a variety of languages wizards and builtin applications to simplify development and tools and APIs to support deploying running and testing apps
更多使用文档
下载地址
我的环境配置
Eclipse版本 eclipseSDKwin
WTP版本 wtpsdkM
EMF版本 emfsdoxsdSDK (WTP依赖)
GEF版本 GEFSDK (WTP依赖)
其他插件略
安装WTP 插件 略
配置Web Server
window>preferences>Server>Instaled Runtimes >Add 添加一个Web Server 例如Tomcat
新建WTP工程
File>Web>Dynamic Web Project>添写Project name>勾选java和Dynamic Web Module>填写context信息>finish>建立一个测试用的jsp文件最好在写个java类在jsp中进行调用以便测试单步跟蹤
发布应用
window>show view>other>server>servers在servers视图中右键>new>Server>选择在第二步中配置的Web Server>next>选择第三步创建的WTP工程>finish
在servers视图会显示刚才创建的Web Server 右键>publish>start或debug>打开浏览器测试吧再做个断点测试debug完全没问题基本热部署也都没问题
了解WTP部署原理
本以为WTP发布应用时将文件copy到tomcat下面结果经查看不是这样的后来又怀疑动态指定了conf\Catalina\localhost经查看也没有
那么它是如何发布的呢在jsp写段代码测试下
<%=comsyjTestWTPclassgetClassLoader()getResource() %>
结果如下
file:/D:/SYJWORK/SYJWORKSPACE/tadata/plugins/orgecre/tmp/wtpwebapps/Test/WEBINF/classes/
原来把文件同步到了工作区下tadata下面
D:/SYJWORK/SYJWORKSPACE/ws/是我的工作区Test是我这次用于测试的项目
看来WTP没有使用tomcat 的启动批处理而是直接调用了tomcat的bootstrapjar
删除tomcat/bin目录下的所有文件只保留下面个jar文件WTP照样工作
bootstrapjar
tomcatnativetargz
tomcatjulijar
jsvctargz
commonsdaemonjar
将一个已经存在的项目转换成WTP 的Web项目
通过文件比较以及一系列尝试终于摸索出如下简单方法
修改project文件(修改后刷新项目或重启eclipse)
在<natures></natures>中加入
<nature>mrenature</nature>
<nature>monmodulecoreModuleCoreNature</nature>
<nature>orgeclipsejemworkbenchJavaEMFNature</nature>
在<buildSpec></buildSpec>中加入
<buildCommand>
<name>mrebuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>orgeclipsewstvalidationvalidationbuilder</name>
<arguments>
</arguments>
</buildCommand>
右键刷新项目后>项目>右键>Properties>Project Facets>Modify Project在弹出的面板中选择Java和Dynamic Web Module 下一步是配置Context Root 和Content Directory 以及源码路径>finish