Only a type can be imported. com.xxx.xxx.XXX resolves to a package 解决方法

当将小项目移至服务器,访问简单JSP页面出现编译错误时,问题可能在于路径设置不当。文章详细解释了原因及解决方法,通过修改Tomcat server.xml文件中的context配置,确保JSP页面能够正确访问类文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文网址:http://niu174420064.iteye.com/blog/786966

<!--StartFragment -->

一个小项目移到服务器上,发现以前的项目出错了,访问一个很简单的jsp也会报错,说无法编译,报的错误就是:Only a type can be imported. com.xxx.xxx.XXX resolves to a package,意思就是说你jsp页面上引用的那个类不存在,可是测试的时候却正常,其实这样JSP已经是访问到的了,只是找不到类,我想应该是路径有问题,是的,因为放在服务器中,为了方便管理,服务器管理员建多了个子目录,而tomcat的context没有改变,每一个子文件夹都会被tomcat当作一个独立的虚拟应用的,所以每个子文件夹下的jsp页面访问的时候,都会在它的同一层找WEB-INF里面的class,这样当然找不到了,只有刚巧放在根目录下的jsp文件能访问。

解决办法:打开%TOMCAT_HOME%conf\server.xml文件,如下:

<Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
    <Context path="/MyLab2/MyLab" docBase="D:\\Program Files\\Apache Software Foundation\\Tomcat 5.5\\webapps\\MyLab2\\MyLab" reloadable="true">
    </Context>
      </Host>

只要多加这个context就可以了,其中path为访问路径,docBase为项目文件根目录所在。这样应用的文件路径通过docBase来指定,这样就不会再产生找不到class的问题了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值