首先记录一下如何解决此章节CD中附带的helloapp无法启动的问题

我用的tomcat版本是:7.0.47;为了便于控制,针对此章节的helloapp,我在tomcat/conf/Catalina/localhost中定义了helloapp6.xml文件,内容是:

<Context path="/helloapp6" docBase="/media/Develop/WEB_Develop/TomCat+JAVADEV_CD/data/sourcecode/chapter06/helloapp" reloadable="true"/>,即实际helloapp文件位于/media/Develop/WEB_Develop/TomCat+JAVADEV_CD/data/sourcecode/chapter06/helloapp目录

然后,启动tomcat,却发现此helloapp6无法启动。查看日志,发现有报错:Caused by: java.lang.NoClassDefFoundError: Lorg/apache/AnnotationProcessor

通过查资料,找到如下解决方法:

在/media/Develop/WEB_Develop/TomCat+JAVADEV_CD/data/sourcecode/chapter06/helloapp/src目录中建立文件:org/apache/AnnotationProcessor.java,其内容为:package org.apache;
import java.lang.reflect.InvocationTargetException;
import javax.naming.NamingException;

public interface AnnotationProcessor {
    public void postConstruct(Object instance) throws IllegalAccessException, InvocationTargetException;
    public void preDestroy(Object instance) throws IllegalAccessException, InvocationTargetException;
    public void processAnnotations(Object instance) throws IllegalAccessException, InvocationTargetException, NamingException;
}

然后编译此文件,得到org/apache/AnnotationProcessor.class文件,在把此文件移位到:/media/Develop/WEB_Develop/TomCat+JAVADEV_CD/data/sourcecode/chapter06/helloapp/WEB-INF/classes/org/apache中即可

然后,重新启动tomcat,则helloapp6就可以正常启动了

《TomCat与Java Web开发技术详解》(第二版) 第六章节对应CD附带的helloapp无法启动的问题解决的更多相关文章

  1. 《Tomcat与Java Web开发技术详解》思维导图

    越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...

  2. 《TomCat与Java Web开发技术详解》(第二版) 第四章节的学习总结--常用Servlet API

    要开发Servlet,自然要掌握常用的servlet的相关API.通过此章节的学习,了解到如下常用API 1.Servlet接口--->GenericServlet抽象类(实现Servlet接口 ...

  3. 《TomCat与Java Web开发技术详解》(第二版) 第八章节的学习总结 -- 访问mysql

    终于学到如何访问Mysql了 1. 可以看看此章节提供的sql脚本,以后可以照着写了.此外,对于Mysql如何使用,最好的地方就是其官网介绍了.http://dev.mysql.com/doc/ref ...

  4. 《TomCat与Java Web开发技术详解》(第二版) 第六章节的学习总结 ---- JSP技术

    第六章主要介绍了JSP的相关知识. 1.JSP:是通过在HTML文件中加入java程序片段(Java Scriptlet)和JSP标记,就构成了JSP文件.JSP实质上是Servlet.JSP的API ...

  5. 《TomCat与Java Web开发技术详解》(第二版) 第五章节的学习总结 ---- Servlet的高级用法

    这一章节主要是介绍了Servlet技术的一些高级用法,如下是我自己的整理归纳 1.下载文件:即获取服务器文件,并把文件写入反馈给客户端 ServletContext.getResourceAsStre ...

  6. 《TomCat与Java Web开发技术详解》(第二版) 第三章节的学习总结--利用Context元素来自定义web应用的存储位置

    在学习完第三章后(第三章提供的web应用是helloaapp,我将其放到了tomcat/webapps中),对Context元素的作用理解不深:但是当进入第四章后,发现第四章提供的源码包中也有一个叫h ...

  7. 《TomCat与Java Web开发技术详解》(第二版) 第一章节的学习总结--HTTP组成+基本访问方式

    1.需要看懂HTML文件中的组成元素的基本含义.不同的组成元素,可以使得HTML支持文本,图片(img,将图片发给客户端),静态音频/视频(embed src,将音频视频发给客户端),超链接(href ...

  8. Java Web开发之详解JSP

    JSP作为Java Web开发中比较重要的技术,一般当作视图(View)的技术所使用,即用来展现页面.Servlet由于其本身不适合作为表现层技术,所以一般被当作控制器(Controller)所使用, ...

  9. hadoop应用开发技术详解

    <大 数据技术丛书:Hadoop应用开发技术详解>共12章.第1-2章详细地介绍了Hadoop的生态系统.关键技术以及安装和配置:第3章是 MapReduce的使用入门,让读者了解整个开发 ...

随机推荐

  1. XTU | 物联网概论复习总结

    物联网(IoT) 写在前面 本文严禁转载,只限于学习交流. 这只是笔者在复习所学这门专业课时整理的一些材料,粗制滥造,还望多多包涵. 笔者这里总结复习材料的绝大部分来自叶st老师在最后一节复习课上的提 ...

  2. A system tap script to detect UDP beacons

    https://gist.github.com/jbradley89/178bbf3944786c494bd78f3df16a5472

  3. 【Linux】CentOS7上安装google谷歌浏览器

    1.首先进入根目录,然后进入etc/yum.repos.d目录下,创建google-chrome.repo文件 cd / cd etc/yum.repos.d vim google-chrome.re ...

  4. httpd配置文件中重写函数Rewrite

    [RewriteCond%{HTTP_HOST}^(www\.)?xxx\.com$] 这是重写条件,前面%{HTTP_HOST}表示当前访问的网址,只是指前缀部分,格式是www.xxx.com不包括 ...

  5. account for 与led to和result in的区别

    account for sth:be the explanation of sth; explain the cause of sth 作某事物的解释; 解释某事物的原因:His illness ac ...

  6. 小白学react之网页获取微信用户信息

    通过上一篇<小白学react之EJS模版实战>我们学习了怎样通过EJS模版生成我们高定制化的index.html文件. 本篇我们将会继续延续我们的alt-tutorial项目的实战计划.去 ...

  7. JAVA反射机制--静态加载与动态加载

    Java反射是Java被视为动态(或准动态)语言的一个关键性质.这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如pu ...

  8. [Fri, 3 Jul 2015 ~ Tue, 7 Jul 2015] Deep Learning in arxiv

    Convolutional Color Constancy can this be used for training cnn to narrow the gap between different ...

  9. oc 之中的 汉字字符串转化成为拼音 汉字字符串的排序

    在oc 之中的字符串为汉字的时候,我们经常要进行字符串比較,可是汉字不能比較,所以就要将汉字转化成为拼音,详细步骤例如以下: //可变字符串 必须是可变字符串.     NSMutableString ...

  10. Android学习(二十一)OptionsMenu选项菜单

    一.OptionsMenu选项菜单 在应用程序中点击功能按钮会弹出选项菜单,点击可以实现具体功能. 二.实现思路: 1.创建选项菜单: onCreateOptionsMenu(); 2.设置菜单项可用 ...