在eclipse中调试turbine代码
来源:互联网 发布:大连 大数据 招聘 编辑:程序博客网 时间:2024/05/17 22:09
一、下载Eclipse3.2(eclipse.org的最新版好像已经升到
二、安装适合Eclipse3.2的MyEclipse
我的版本是MyEclipseEnterpriseWorkbenchInstaller_
Subscriber: www.1cn.biz
Subscriber Code: jLR8ZC-444-55-4467865481680090
接下来要做的是配置MyEclipse,点击Window->Preferences…,展开MyEclipse->Application Server->Tomcat 5,选择Tomcat Server为Enable,然后分别输入:
Tomcat Home Directory:D:/jakarta-tomcat-
Tomcat Base Directory:D:/jakarta-tomcat-
Tomcat Temp Directory:D:/jakarta-tomcat-
请根据你的Tomcat实际安装路径来进行调整,点击“OK”保存设置。
三、导入工程到eclipse
导入helloworld工程之前,请确认在helloworld目录下运行了maven eclipse命令。导入成功之后,右键单击工程“helloworld”,在上下文菜单中选择MyEclipse->Add WebProject Capabilities…
在Add MyEclipse WebProject Capabilities对话框中,修改Web Context Root为不同于helloworld的一个名称,比方说hw,然后点击Finish结束。
为什么要为helloworld改名呢,原因是MyEclipse会将你的工程发布到tomcat的webapps目录里,而maven也编译你的工程,然后部署到webapps里,为了让二者不打搅,只好修改MyEclipse的发布路径。
添加完成后,[src]目录和[target]目录中分别会有一个xml文件显示红叉,那个是因为dtd验证失败引起的,不用理会。
四、调整helloworld的目录结构使其适合MyEclipse发布
比较一下你的helloworld工程目录和maven发布到tomcat中的helloworld,你可以发现目录结构有很大的不同。为了让helloworld工程在eclipse中(安装了MyEclipse插件)便于发布和调试,我们必须调整helloworld工程为maven打包后的结构。
1、 首先复制部署在tomcat中helloworld目录下 WEB-INF目录中的[conf]、web.xml到helloworld工程目录的 WEB-INF目录中(注意:添加了MyEclipse WebProject Capabilities后才有的WEB-INF)。
2、 回到上一层目录,复制除了tomcat中helloworld目录下WEB-INF外的目录[images]、[logs]、[resources]、[scripts]、[style]、[templates]到helloworld工程目录中。
3、 在eclipse中,选择你的helloworld工程,按F5刷新一下工程。
五、添加测试代码
1、 在helloworld/templates/screen目录下添加文件HelloWorld.vm(注意,以后编辑和修改的vm文件所属目录均指helloworld/templates,而不是helloworld/src/templates)
2、 编辑其内容为
<h1>A field</h1>
The contents of content_field is $content_field <br>
3、 展开target/src源码包,在org.apache.turbine.app.helloworld.modules.screens下添加一个java类,取名为HelloWorld。编辑其代码为:
package org.apache.turbine.app.helloworld.modules.screens;
import org.apache.velocity.context.Context;
import org.apache.turbine.modules.screens.VelocityScreen;
import org.apache.turbine.util.RunData;
public class HelloWorld extends VelocityScreen {
public void doBuildTemplate(RunData data, Context context) {
try {
context.put("content_field", "some text");
} catch (Exception e) {
return;
}
}
}
4、 修改templates/screen目录下的Index.vm文件,在文件顶部增加一行代码:
<a href="$link.setPage('HelloWorld.vm')">helloWorld</a>
六、部署启动Tomcat
1、 点击
2、 然后点击
3、 打开浏览器,输入网址http://localhost:8080/hw,即可查看你的网页,不同的是,点击helloWorld的链接,你还可以看到如下页面:
A field
The contents of content_field is some text
没错,HelloWorld.vm中的$content_field变量已经被替换为HelloWorld.java中的some text了。
七、在eclipse中调试turbine代码
保持eclipse中tomcat的启动状态,双击HelloWorld.java中
context.put("content_field", "some text");
之前空白处,为其设上断点。然后重新刷新浏览器中http://localhost:8080/hw/app/template/HelloWorld.vm页面,你将会跳转到eclipse的debug模式下调试你的代码。
应该还有更好的办法去调试turbine,毕竟我的这种办法牺牲了和maven的兼容性,如果还想使用maven turbine:deploy来部署turbine工程,则需要helloworld目录下的[images]、[logs]、[resources]、[scripts]、[style]、[templates]这几个目录覆盖到helloworld/src/目录下。而且就工具而言,MyEclipse是要收费的。
总之,找到一个在IDE下编辑、调试、部署应用程序的方法至关重要,好的方法会使你事半功倍,不好的方法会使你处于盲打代码的泥潭中。
在这里,我仅仅只是抛砖引玉,希望有志于推广和使用turbine的朋友群策群力,共同丰富turbine的文档和使用技巧。
- 在eclipse中调试turbine代码
- 在eclipse中调试ant中的junit测试代码
- 在Eclipse中NDK单步调试JNI代码
- 在Weblogic环境下调试Turbine Servlet实例
- 在Weblogic环境下调试Turbine Servlet实例
- 在Eclipse中调试Felix
- 在eclipse中调试OpenNMS
- PHP学习笔记 - 在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
- PHP学习笔记 - 在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
- PHP学习笔记 - 在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
- 超简单的在Eclipse中NDK单步调试JNI代码代码
- 在ubuntu中调试代码
- 在Python中调试代码
- Turbine实战(中)
- 如何将MTK的代码分模块在eclipse中单独编译运行起来调试
- 如何在Eclipse中 NDK r-10实现单步调试jni代码
- 转载 PHP学习笔记 - 在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
- 在Eclipse中使用debug调试程序
- 用VS2005开发ASP.NET 2.0数据库程序
- 中科院、复旦、上交、北大等历年考博英语试题真题(2000-2006)!
- 经典算法——箱子排序
- Asp, Asp.Net 无组件上传, 进度条, 断点续传
- Programming Methodology?
- 在eclipse中调试turbine代码
- Django的Ajax开发,Dojo + SAjax
- 再战SVOHOST.exe、sxs.exe和command.com
- 北京的春天
- 数学之美--防伪系统(1)
- Google Maps API 2 中文文档
- style.backgroundImage will fire onpropertychange twice
- 雅虎公司C#笔试题
- Log4J学习笔记(一)