文档章节

Only a type can be imported解决方法

DYOS
 DYOS
发布于 2015/11/12 17:04
字数 545
阅读 721
收藏 0

这次项目开发,运行环境的tomcat版本从5.5.12升级到了6.0.18,发现以前的项目不能跑了,访问一个很简单的jsp也会报错,说无法编译,报的错误就是:Only a type can be imported. com.xxx.xxx.XXX resolves to a package,意思就是说你jsp页面上引用的那个类不存在,可是在老版本明明跑的好好的,而且另一个现象就是项目根目录下的jsp访问没有问题,子目录下就报错,google了一下,发现这是新版本tomcat的一个变化,就是如果不指定context的话,每一个子文件夹都会被tomcat当作一个独立的虚拟应用的,所以每个子文件夹下的jsp页面访问的时候,都会在它的同一层找WEB-INF里面的class,这样当然找不到了,只有刚巧放在根目录下的jsp文件能访问。

解决办法:其实这也是自己以前写tomcat的配置文件时候,写法不规范造成的,以前的server.xml里面host信息代码如下:

<Host name="www.local.com" appBase="D://projects//myWebSite//WebContent" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Alias>192.168.1.43</Alias> 
    <Context path="" docBase="" reloadable="true">
     <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www.local.com_log." suffix=".txt" timestamp="true"/>
    </Context></Host>

这其中Context里面的docBase为空,文件路径就靠Host里的appBase去指定,这样tomcat认为你这个站点下没有应用,会自动把每个文件夹当作一个虚拟应用处理。修改后的代码片段如下:

<Host name="www.local.com" appBase="" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Alias>192.168.1.43</Alias> 
    <Context path="" docBase="D://projects//myWebSite//WebContent" reloadable="true">
     <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www.local.com_log." suffix=".txt" timestamp="true"/>
    </Context></Host>

可以看到Host里面不再指定appBase了,而是在主机下建立一个应用,应用的文件路径通过docBase来指定,这样就不会再产生找不到class的问题了。

ps:tomcat的这个问题好像是从5.5.28就开始了,记得以前也曾经尝试过升级tomcat,就发生了类似的问题,但是当时没充裕时间去解决,就一直把问题遗留到现在。


本文转载自:http://blog.csdn.net/pengyuzhu/article/details/5868361

DYOS
粉丝 4
博文 32
码字总数 1274
作品 0
浦东
程序员
私信 提问
从10gR2导出数据到11gR2的错误及解决

从源库10gR2导出(EXP/IMP)数据到目标库11gR2(开启了连接池)时的错误及解决方法,见下: --第一次导入: [oracle@db1 20131226]$ imp 用户/密码@width file=iflashbuy.dmp fromuser=ifla...

思考_
2013/12/27
0
0
导入导出 Oracle 分区表数据

-- -- 导入导出 Oracle 分区表数据 -- 导入导入Oracle 分区表数据是Oracle DBA 经常完成的任务之一。分区表的导入导出同样普通表的导入导出方式,只不过导入导出需要考 虑到分区的特殊性,如...

蔡培元
2016/08/23
62
0
expdp/impdp 参数network_link使用测试

下面是network_link常用的三个环境测试 1,服务器端的数据导出到指定的客户端 2,不同数据库间迁移数据。 3,同一个数据库中不同用户之间迁移数据。 一:服务器端的数据导出到指定的客户端 ...

技术小胖子
2017/11/07
0
0
java获得数据库信息常用API(DatabaseMetaData)示例

最近要做一个数据字典的工具,看了一下DatabaseMetaData的使用,做个备忘示例! Java代码 package com.database.manager; import java.sql.Connection; import java.sql.DatabaseMetaData; ...

李勋
2010/06/09
4.9K
2
FileZilla Client 3.22.0-rc1 发布,FTP 解决方案

FileZilla Client 3.22.0-rc1 版发布了。FileZilla 是一个快速、可信赖的FTP客户端以及服务器端开放源代码程式,具有多种特色、直观的接口。 新功能: Directory listing filters can now be ...

王练
2016/09/25
561
1

没有更多内容

加载失败,请刷新页面

加载更多

链表中环的入口节点

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路: public ListNode EntryNodeOfLoop(ListNode pHead) { if (pHead == null || pHead.next == null) ...

Garphy
35分钟前
5
0
Spring5 源码分析-容器刷新-invokeBeanFactoryPostProcessors()方法

上一篇:Spring5 源码分析-容器刷新-prepareBeanFactory()方法 该方法主要完成以下功能: 1.实例化ConfigurationClassPostProcessor,并调用ConfigurationClassPostProcessor.postProcessBe...

特拉仔
36分钟前
5
0
为什么MySQL用B+树做索引

索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL的索引主要以B+树为主,但是要问到为什么用B+树,恐怕很少有人能把前因后果讲述的很完整。本文就来从头到尾介绍下数据库的索引。...

小致Daddy
今天
8
0
网站前台的三级联动数据封装

我在进行项目时候遇到了一个进行数据封装的一个功能,进行数据的封装的功能也挺复杂,来回试了好几十种方法.最后使用的是这种方法. 使用一个pojo进行封装两个数据,一个是list一个是实体类. 具体...

小天丶羽
今天
5
0
创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA的SPI FLASH、硬件加密芯片

TL437xF-EVM是一款广州创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA设计的开发板,底板采用沉金无铅工艺的4层板设计,尺寸为240mm*130mm,它为用户提供了SOM-TL437xF核心板的测...

Tronlong创龙
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部